js中的this(比较简单)

由于ES6之后箭头函数的实现,个人也不太关注this的指向问题了,由于是为了自己的基础牢固一点,不是特别半吊子,还是写下this的指向问题

this的指向(不考虑严格模式)

1. 直接输出this,也就是全局下, this指向window

console.log(this)
// 打印出来是window

2. 在对象内部方法的this,指向调用这个方法的对象

下方就是一个很明显的例子, this指向了des

const dog = {
    name: 'dog',
    des: {
        name: 'dog1',
        sayName: function() {
            console.log(this.name)
        }
    }
}

dog.des.sayName()  // dog1

3. new 构造函数, this指向创建的对象

4. 如果是那种定时器,setTimeout,setInterval的话, this指向window

5. 如果需要更改this的指向,可以使用js的call,apply和bind方法

同时如果我们不想理解那么多的this的指向

我们可以全局都使用箭头函数,箭头函数会默认使用父级的this

还有一种之前在不使用es6情况下,使用其他变量赋值,暂存,也可以

比如 _this = this

以上差不多,有问题各位请指出,学习学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值