this的指向总结

匿名 (未验证) 提交于 2019-12-02 23:43:01
    // this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象.     // 根据函数调用的方式不同,this会指向不同的对象,跟创建方式没有关系.       // 1、以函数的形式调用时。this指向的是window     function fun() {         console.log(this.name)     }     // fun();        // 2、以方法的形式调用时,this就是调用方法的那个对象     var obj={         name:"小明",         aa:fun     };       // obj.aa();        // 3、如果不在第一层调用,那么this只会指向当前层     var a={         b:5,         c:{             b: 10,             d:function () {                 console.log(this.b)             }         }     };      // a.c.d()        // 4、如果将这个方法赋值给变量时,this会改变对象的指向      var n={         name:"狗子",         firstname:function () {            console.log(this.name)         }     };      var x={         name:"笨蛋"     };      x.firstname=n.firstname;     // x.firstname()     n.firstname()        // 5、在构造函数中,this的指向实例化的对象       var person=function () {         this.name="蔡徐坤"     };      var cxk=new person ();     // console.log(cxk.name)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!