草庐IT

less变量

全部标签

javascript - 如何在包含外部范围时取消引用 JavaScript 变量

好的,这是一个问题脚本。varlinks=['one','two','three'];for(vari=0;i此脚本使用数组生成三个div:一、二和三。我在每个div上设置了一个(为简单起见为Dom0)点击处理程序,它会提醒索引其在数组中的位置。-除了它没有!它总是提醒3,数组的最后一个索引。这是因为“alert(i)”中的“i”是对外部作用域(在本例中为全局)的实时引用,并且在循环结束时其值为3。它需要的是一种在循环中取消引用i的方法。这是一种解决方案,我倾向于使用它。varlinks=['one','two','three'];for(vari=0;i其他人有什么不同之处吗?有真正

javascript - 通过 exec 将变量传递给 PhantomJS

我开始使用Grunt并想将一个变量传递给我通过exec运行的PhantomJS脚本。我想要做的是为脚本传递一个url以从中获取屏幕截图。任何帮助将不胜感激,谢谢!达伦Grunt脚本exec('phantomjsscreenshot.js',function(error,stdout,stderr){//Handleoutput});截图.jsvarpage=require('webpage').create();page.open('http://google.com',function(){page.render('google.png');phantom.exit();});

javascript - 在 ExtJS MVC 中在哪里添加全局变量?

我想知道在哪里为ExtJS应用程序添加全局变量。我已经看过stackoverflow中的一些建议,其中提到您可以将它们添加到app.js中。但是,任何人都可以更具体吗?我的app.js看起来像这样:Ext.application({launch:function(){..}});那么,变量到底去了哪里?在启动函数中?在Ext.application之外? 最佳答案 更好的方法是创建一个单独的类来保存此类全局常量。然后,您应该将该常量类作为requires放在app.js中。Ext.define("App.Constants",{si

javascript - typescript 如何在foreach循环中访问组件变量?

嘿,有人能告诉我如何在foreach循环中访问组件变量吗?这是我的PlunkerpublictestVariable:number;test(){console.log('fired');varx=[1,2,3,4];x.forEach(function(e){this.testVariable=e;})console.log(this.testVariable);} 最佳答案 如果你使用function(e),它里面的this会引用函数的作用域而不是类。改用ArrowFunction(或FatArrow):x.forEach((e

javascript - setTimeout 函数中的变量 (jQuery)

我试图在setTimeout函数中使用jQuery语句,但是我不让它工作。我尝试了很多变体,比如这个(我使用'this'因为setTimeout在每个函数中,并且选择器被缓存/存储在一个对象中,因此是$selector):setTimeout(""+this.$selector+".val('"+this.savVal+"')",1);我要怎么写这个?谢谢! 最佳答案 当调用setTimeout时需要保留当前的​​this项时使用此结构:-setTimeout((function(self){returnfunction(){$se

函数内的 JavaScript 通过变量名调用函数

这个问题在这里已经有了答案:dynamicallycalllocalfunctioninjavascript(5个答案)关闭8年前。当函数名称在变量中时,我在调用另一个函数内部的函数时遇到困难:varobj={}obj.f=function(){varinner={a:function(){functionb(){alert('gotit!');}b();//WORKSASEXPECTEDx='b';[x]();//DOESN'TWORK,NEITHERthis[x]()window[x](),etc.}}inner.a();}obj.f();我尝试使用不同的范围路径为[x]()添加前

javascript - 如何使javascript变量成为全局变量

我需要使这个data变量成为全局变量:$.ajax({url:"get_data.php",cache:false,dataType:'json',data:{},success:function(data){for(vari=0;i我想在全局范围内声明它。我需要将其声明为数组吗? 最佳答案 任何变量都可以通过将其附加为窗口的属性来“成为全局变量”。window.data=data;您现在可以将data作为全局变量访问。 关于javascript-如何使javascript变量成为全局变

Javascript:将变量与值数组进行比较

在javascript中,我正在执行以下工作正常。if(myVar==25||myVar==26||myVar==27||myVar==28){//dosomething}我怎样才能缩短它?类似下面的内容。if(myVarIN('25','26','27','28')){//dosomething}或if(myVar.indexOf("25","26","27","28")>-1)){//dosomething} 最佳答案 您可以使用Array.indexOf(),它返回可以在数组中找到给定元素的第一个索引,如果不存在则返回-1。使

javascript - 以有效的方式检查多个变量是否不为 null、undefined 或 empty

目前我有这样一个if条件:if((variable!=null&&variable!=''&&!variable)&&(variable2!=null&&variable2!=''&&!variable2)&&(variable3!=null&&variable3!=''&&!variable3)//etc..)我需要用它来检查多个变量是否有值(没有被遗漏),但我觉得这是一个困惑的解决方案,想问一下是否有更有效的方法?也许还有额外的检查? 最佳答案 因为if(variable)忽略任何falsy值,这对你有用if(variable&

javascript - 为什么在外部范围内定义时阴影变量会评估为未定义?

考虑以下代码:varoutside_scope="outsidescope";functionf1(){alert(outside_scope);}f1();此代码的输出是警告框显示消息“outside范围”。但是,如果我将代码稍微修改为:varoutside_scope="outsidescope";functionf1(){alert(outside_scope);varoutside_scope="insidescope";}f1();警告框显示消息“未定义”。我本可以有如果在两种情况下都显示“未定义”,则可以理解逻辑。但是,那个没有发生。它仅在第二种情况下显示“未定义”。这是为