草庐IT

return_var

全部标签

javascript - 为什么 (function() { return this; }).call ('string literal' ) 返回 [String : 'string literal' ] instead of 'string literal' ?

这是我在试验JS时的最新发现:(function(){returnthis;}).call('stringliteral');//=>[String:'stringliteral']inV8//=>String{"stringliteral"}inFF我在执行以下操作时偶然发现了这一点:(function(){returnthis==='stringliteral';}).call('stringliteral');//=>false谁能告诉我为什么函数内部的this不是作为第一个参数传递给call的正是?编辑1Whatisthedifferencebetweenstringprimi

javascript - 需要模式 : create new object that returns an executeable function and inherits from a prototype

场景1-一切正常:varAwesomeObject=function(){varself=this;self.whatstuff='reallyawesome';}AwesomeObject.prototype.doStuff=function(){varself=this;console.log('idid'+self.whatstuff+'stuff');returnself;}varawesome=newAwesomeObject();//returnsanewAwesomeObjectawesome.doStuff();//prints'ididreallyawesomestu

javascript - 在javascript程序中哪里使用 "var'

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:DifferencebetweenusingvarandnotusingvarinJavaScript你好,我是一个自学的开发者。总是,我写的javascripts没有var变量。但是一些javascripts使用var作为变量。两者都对我很有效。我对此有点困惑。用var编写脚本是一种标准形式还是它们只在类中使用?

javascript - 当我使用不带 'var' 的全局范围变量时,它向我显示错误。为什么?

请参阅下面的示例代码alert(a);//undefinedalert(b);//ItisError,bisnotdefined.vara=1;b=10;当变量a和b都在全局范围内时,为什么我会收到b的错误消息。但是变量a没有错误消息?这是什么原因?有人可以解释一下吗? 最佳答案 第一个alert显示undefined因为var语句被提升到封闭范围的顶部,换句话说,var语句和function声明是在实际代码执行之前,在解析阶段进行的。当你的代码被执行时,相当于:vara;//declaredandinitializedwith`u

javascript - "Return"超出函数,If 语句在 Lodash forEach() 中

function(){_.forEach(listOfSomething,function(something){if(someCondition){returnfalse}});returntrue;}看起来很简单-尝试检查每个项目的某些条件,如果不满足任何项目退出功能并返回false。当循环完成而不退出时,返回true。总是返回true,尝试了控制台日志记录,它确实达到了“returnfalse”点。我是否遗漏了一些关于js工作原理的明显信息,或者这是一个lodash的东西? 最佳答案 您缺少的是您的returnfalse语句位

javascript - 我对 for 循环中的 javascript let 和 var 感到困惑?

这个问题在这里已经有了答案:Whatisthedifferencebetween"let"and"var"?(39个答案)关闭6年前。这是我的循环代码varusername=['Sam','Adarsh','Rohit','Rajat'];for(variinusername){console.log(username[i]);}它的输出与需要的相同,但我不确定为什么需要Let声明。我了解VAR和LET的概念,但不确定在哪些情况下var会在for循环中产生问题?请任何人帮助我理解这个概念。我是新手,正在努力弄清楚:)感谢您的帮助。

javascript - 如何在不使用 return 的情况下使用构造函数创建 JavaScript 单例?

我目前知道两种在JavaScript中构造单例的方法。第一:varsingleton={publicVariable:"I'mpublic",publicMethod:function(){}};它是完美的,除了它没有我可以运行初始化代码的构造函数。第二个:(function(){varprivateVariable="I'mprivate";varprivateFunction=function(){}return{publicVariable:"I'mpublic",publicMethod:function(){}}})();第一个版本没有私有(private)属性,也没有构造函

javascript - D3 : refining ordinal scale to return groups of colours?

我在D3.js中设置了一个序数标度如下所示,到目前为止效果很好:varcolor=d3.scale.ordinal().range(['blue','red','green']);color.domain();console.log(color(0));//returns'blue'但是,我真正想做的是能够将两个数字传递给比例尺,并让它返回蓝色、红色或绿色的特定子色度-主要色度取决于第一个数字,子阴影取决于第二个数字。也许我可以结合d3.scale.ordinal()与d3.interpolateRgb()以某种方式做到这一点?不过,我不确定interpolateRgb是否是正确的选择

javascript - 为什么我不能删除用 var 声明的 javascript 值?

例子:x="Hello";deletex;//returnstrue,xisremovedvary="Hello";deletey;//returnsfalse,yisnotremoved我对如何发生这种情况不感兴趣,我想知道为什么该语言具有此功能。 最佳答案 严格来说第一个x不是变量而是全局对象的属性。在浏览器中,它通常是window(所以x="Hello"等于window.x="Hello")。您不能使用delete来删除变量,但可以使用它来删除对象属性,这就是它在第一种情况下所做的。

javascript - 有和没有 return 语句的函数有区别吗?

假设您有2个不返回值的相同函数functiona(){//dosomeinterestingthings}functionb(){//dothesameinterestingthingsreturn;}函数b显然更冗长,但它们之间有什么功能上的区别吗? 最佳答案 没有真正的区别;两者都将返回undefined。没有return语句的函数将返回undefined,带有空return语句的函数也是如此。要亲自确认这一点,您可以运行此代码--FIDDLE:​functiona(){}functionb(){return;}varaResu