草庐IT

引用传递

全部标签

javascript - 为什么通过 yield 传递回调时 `setTimeout` 不起作用?

在下面的代码中:functionso(){console.log('insidethetimer')}function*sogen(){constcallback=yield;setTimeout(callback,2000);return1;}function(){vargen=sogen();gen.next(so),gen.next(so);}()为什么我永远不会到达函数so? 最佳答案 tl;dr您需要用括号将IIFE括起来,或者根本不使用IIFE。您对生成器的使用没有问题,一旦您添加了括号,一切都正常工作。请注意,您实际上

javascript - 在 Javascript 中通过引用访问变量

我正在尝试传递对变量的引用,然后更新javascript中的内容,这可能吗?例如,一个简单的(失败的)例子是......varglobalVar=2;functionstoreThis(target,value){eval(target)=value;}storeThis('globalVar',5);alert('globalVarnowequals'+globalVar);这当然行不通,谁能帮忙? 最佳答案 Eval不返回值。这会起作用:window[target]=value;(但是,您没有传递引用,您传递的是变量名)

Javascript 正则表达式引用

我在使用这个Javascript正则表达式时遇到了问题。我想要的是找到一个以@"开头的字符,中间有任何字符,以"结尾。我还需要它在单引号中。对我来说棘手的部分是,它不能以@"开头并以"结尾,因为它正在查看的字符串可能看起来像[UIImageimageNamed:@"glass-round-red-green-button.png"].到目前为止,我所拥有的是这个。regex:newRegExp('\\@"?\\w+\\b"*','g') 最佳答案 试试这个正则表达式:/@(["'])[^]*?\1/g解释:@(["'])匹配@"或@

javascript - jQuery:获取对点击事件的引用并稍后触发它?

我想用一些额外的代码包装现有的点击事件。基本上我在Accordion中有一个多部分表单,我想在点击Accordion标题时触发验证。Accordion代码在其他地方使用,我不想更改它。这是我尝试过的://Taketheclickeventsofftheaccordionelementsandwrapthemtotriggervalidation$('.accordionh1').each(function(index,value){varcurrentAccordion=$(value);//GetreferencetooriginalclickvaroriginalClick=cur

href onclick请求中的Javascript传递变量

我知道这确实是基本的javascript,但出于某种原因,我似乎无法在传递参数时让我的链接的onclick函数起作用。我尝试转义引号,添加不同类型的引号并将原始变量添加为字符串。我让它在下面工作,但它说“XYZ未定义”functionrenderLink(value,meta,record){vartype=record.data['name'];//valueisXYZreturn'';}functiongetReport(type){alert(type);} 最佳答案 return'';您需要对字符串进行转义:return''

javascript - 将小数延迟传递给 setInterval 或 setTimeout 是否安全?

我知道由于浏览器计时器不准确,目前的差异可以忽略不计,但为了了解其他情况:是否有支持setInterval和setTimeout的浏览器,但需要将整数值作为延迟传递给它们?或者,换句话说,是这样的:setInterval(animate,50/3);像这样跨浏览器兼容?setInterval(animate,17); 最佳答案 这是绝对安全的。(正如RobG指出的那样,我没有提供对DOM/JS桥接规则本身的引用,他敦促大家谨慎。FWIW,我相信——但没有提及最终声明——ToInteger是接口(interface)桥的一部分。这是一

javascript - 在 javascript 对象中引用另一个字段

我在javascript中有一个对象:admins:{articles:{path:'/admins/articles',template:'/views/admins/articles.html',link:function(){returnpath;//!!!howtoreferencethe'path'?}}}我有很多这样的对象,每个对象都有一个path字段和一个link函数。我想在link中使用字段path,但我不能只使用path。我该怎么办? 最佳答案 您可以使用this来引用对象。标准object.method()“点”

javascript:作为对象或函数传递

我的问题很奇怪,它与我在jQuery中看到的东西有关,但到目前为止我无法重新创建它。在jQuery中你可以这样做jQuery('div').append或jQuery.ajax我正在制作的应用程序需要类似的语法,我注意到你是否使用了newlikevarthat=newfunction(){}你可以只用它来调用函数,没有(),但在某些情况下我会需要它。这是因为有些函数我需要像jQuery一样选择一个dom元素。that('[data-something="this"]').setEvent('click',functin(){})有些人会自动这样做:that.loadIt('this',

JavaScript - 如何打开新页面并将 JSON 数据传递给它?

我有一个名为search.jsp的页面。当用户选择一条记录并按下编辑按钮时,我想用记录数据(存储在json对象中并传递到新页面)打开一个新页面(在同一窗口中)。如何使用Javascript(或jQuery)打开新页面并传递JSON数据? 最佳答案 如果两个页面在同一个域中,第三种方法是使用HTML5localStorage:http://diveintohtml5.info/storage.html事实上,localStorage正是为您想要的而设计的。处理GET参数或窗口/文档JS引用不是很便携(即使我知道所有浏览器都不支持loc

javascript - 将参数传递给 ANT javascript 任务?

在我的ANT脚本中,我有时会写tasksrunnningjavascriptwithRhino.但是,我不知道如何将参数传递给这些任务。有什么想法吗?例如...这是此类任务的示例: 最佳答案 要使用脚本来定义ant任务,您可以使用scriptdef任务而不是script.与scriptdef有预定义的对象可以访问任务中的属性和嵌套元素。这适用于从Ant中的javascript访问属性:然后就可以走了:与常规Ant任务相同。如果需要,也可以使用文件集等,更多详细信息:http://ant.apache.org/manual/Tasks