JS中的this好神奇,都把我弄晕了

一、this的常见判断:

  1.函数预编译过程 this > window

  2.全局作用域里 this > window

  3.call/apply 可以改变函数运行时this指向

  4.obj.func();   func()里面的this指向obj(即谁调用该函数,函数内this就指向谁)

二、this的常见用处:

  1、自定义构造函数中:

   

  function A(){
        this.name = 'A';
        this.age = 18;
    }

   2、对象的函数定义中this指向该对象,可在该函数内通过this调用该对象的属性。

  

var obj = {
        name: 'lyl',
        sayName: function (){
            console.log(this.name); //lyl
        }
    }

  3、在原型链上定义方法:

  

Array.prototype.enique = function (){
        // this指的是调用该方法的数组
    }

 

   4、js定义事件时:

  

$Li.onclick = function(){
        // this指向该dom对象,  $Li
        this.style.color = 'red';
    }

 

三、严格模式:

  es5非严格模式下, this默认指向window

  es5严格模式下,this初始默认为undefined,需要赋值,而且赋值为什么就是什么,赋值为undefined/null 也不例外

 

转载于:https://www.cnblogs.com/Walker-lyl/p/5592089.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值