为什么在严格模式下使用javascript时,匿名函数中的this未定义?我明白为什么这是有道理的,但我找不到任何具体的答案。例子:(function(){"usestrict";this.foo="bar";//*this*isundefined,why?}());fiddle测试:http://jsfiddle.net/Pyr5g/1/检查记录器(firebug)。 最佳答案 这是因为,在ECMAscript262第5版之前,如果使用constructorpattern的人忘记使用new关键字,就会造成很大的困惑。如果在ES3中
我有一个关于在嵌套函数场景中如何处理“this”指针的问题。假设我将以下示例代码插入到网页中。当我调用嵌套函数“doSomeEffects()”时出现错误。我检查了Firebug,它表明当我在那个嵌套函数中时,“this”指针实际上指向全局“window”对象——这是我没有预料到的。我一定没有正确理解某些东西,因为我认为既然我在对象的函数中声明了嵌套函数,它应该具有与函数相关的“本地”范围(即“this”指针将引用对象本身,如在我的第一个“if”语句中是怎样的)。如有任何指点(无双关语意),我们将不胜感激。varstd_obj={options:{rows:0,cols:0},acti
我有一个关于在嵌套函数场景中如何处理“this”指针的问题。假设我将以下示例代码插入到网页中。当我调用嵌套函数“doSomeEffects()”时出现错误。我检查了Firebug,它表明当我在那个嵌套函数中时,“this”指针实际上指向全局“window”对象——这是我没有预料到的。我一定没有正确理解某些东西,因为我认为既然我在对象的函数中声明了嵌套函数,它应该具有与函数相关的“本地”范围(即“this”指针将引用对象本身,如在我的第一个“if”语句中是怎样的)。如有任何指点(无双关语意),我们将不胜感激。varstd_obj={options:{rows:0,cols:0},acti
当使用new调用构造函数时,Javascript中的return语句在什么情况下可以返回this以外的值>关键字?例子:functionFoo(){returnsomething;}varfoo=newFoo();如果我没记错的话,如果something是一个非函数原语,this将被返回。否则返回something。这是正确的吗?换句话说,something可以取什么值来导致(newFoo()instanceofFoo)===false? 最佳答案 在[[Construct]]中描述了确切的条件new使用的内部属性运算符(opera
当使用new调用构造函数时,Javascript中的return语句在什么情况下可以返回this以外的值>关键字?例子:functionFoo(){returnsomething;}varfoo=newFoo();如果我没记错的话,如果something是一个非函数原语,this将被返回。否则返回something。这是正确的吗?换句话说,something可以取什么值来导致(newFoo()instanceofFoo)===false? 最佳答案 在[[Construct]]中描述了确切的条件new使用的内部属性运算符(opera
每个人都知道javascript中的this,但也有在野外遇到的self实例,例如here那么,JavaScript中的this和self有什么区别呢? 最佳答案 除非在其他地方设置,否则self的值是window因为JavaScript允许您访问任何属性xwindow为x,而不是window.x。因此,self实际上是window.self,这不同于this.window.self===window;//true如果你正在使用一个在全局范围内执行的函数并且不是在严格模式下,this默认为window,因此functionfoo()
每个人都知道javascript中的this,但也有在野外遇到的self实例,例如here那么,JavaScript中的this和self有什么区别呢? 最佳答案 除非在其他地方设置,否则self的值是window因为JavaScript允许您访问任何属性xwindow为x,而不是window.x。因此,self实际上是window.self,这不同于this.window.self===window;//true如果你正在使用一个在全局范围内执行的函数并且不是在严格模式下,this默认为window,因此functionfoo()
这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭6年前。我刚刚开始使用原型(prototype)JavaScript,但我无法弄清楚如何在作用域发生变化时从原型(prototype)函数内部保留对主对象的this引用。让我来说明我的意思(我在这里使用jQuery):MyClass=function(){this.element=$('#element');this.myValue='something';//somemorecode}MyClass.prototype.myfunc=function(){
这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭6年前。我刚刚开始使用原型(prototype)JavaScript,但我无法弄清楚如何在作用域发生变化时从原型(prototype)函数内部保留对主对象的this引用。让我来说明我的意思(我在这里使用jQuery):MyClass=function(){this.element=$('#element');this.myValue='something';//somemorecode}MyClass.prototype.myfunc=function(){
Vue报错TypeError:this.$setisnotafunction的解决方法这篇文章主要介绍了Vue报错TypeError:this.$setisnotafunction的报错场景:将APi中得到的response数据,用Vue$set()使数据动态响应报错代码:methods:{textTranslate:function(text,to){$.ajax({url:'http://openapi.youdao.com/api',type:'post',dataType:'jsonp',data:{q:text,appKey:this.appKey,salt:this.salt,fr