美文网首页
严格模式下this会指向undefined需要注意的点

严格模式下this会指向undefined需要注意的点

作者: 小龙虾Julian | 来源:发表于2020-04-20 18:32 被阅读0次
function foo() {
    "use strict";  
    console.log( this.a );      //调用this.a的函数体是严格模式
}
var a = 2;
foo();      // 8z5toyO:13 Uncaught TypeError: Cannot read property 'a' of undefined
function foo() {
    console.log( this.a );       //调用this.a的函数体是非严格模式
}
var a = 2;
(function(){
    "use strict";
    foo();      // 2  调用foo()的位置是严格模式
})();

解析:
(1)第一段代码,在foo()函数体内采用严格模式并使用了this.a,this会指向undefined;第二段代码foo()在严格模式下调用,this不会指向undefined
(2)决定 this 绑定对象的并不是调用位置是否处于严格模式,而是函数体是否处于严格模式。如果函数体处于严格模式,this 会被绑定到 undefined,否则this 会被绑定到全局对象

相关文章

  • 严格模式下this会指向undefined需要注意的点

    解析:(1)第一段代码,在foo()函数体内采用严格模式并使用了this.a,this会指向undefined;第...

  • javaScript中this的指向

    简单笔记: this永远指向调用它的对象,在严格模式下没有调用对象会指向undefined,非严格模式下指向全局变...

  • This指向总结

    函数调用 普通调用:this指向Window(在严格模式下,this指向undefined) 宽松模式image....

  • this的指向

    1、全局作用域:this指向window,严格模式下指向undefined; 2、上下文的this:this指向最...

  • js中this

    this是在函数调用时,才明确指向 看调用this的函数,若是独立的,严格模式中undefined,非严格模式指向...

  • this 指针

    默认绑定 默认绑定 this 指向 window 严格模式 this 指向 undefined 隐式绑定 谁调用 ...

  • this

    严格模式,函数禁止this指向window,下面函数中代码this 为 undefined this 对象实在运行...

  • javascript中this那些事

    定义 this是函数执行的上下文。 调用方式 1.作为函数调用,指向window(严格模式报undefined的错...

  • js:严格模式下的this指向

  • [JS] 先bind后new,this的指向

    1. 严格模式this绑定为undefined 非严格模式下,以下调用方式中,this绑定为全局对象window,...

网友评论

      本文标题:严格模式下this会指向undefined需要注意的点

      本文链接:https://www.haomeiwen.com/subject/qrljihtx.html