js 利用逗号运算符偷梁

利用逗号运算符偷懒换柱

什么是逗号运算符

let x = 1;
x = (x++, x);

x=2;

简单来说就是从左到右运算,并且返回最后一个

这个this是哪个this

(function () {
    console.log(this)
    console.log('fc2 running')
})()

首先看一个自执行函数

明显这个this是window全局对象

看看这个呢

var object1 = {
    aaa: 'I\'m an object',
    bbb: function () {
        console.log(this)
        console.log('bbb is running')
    }
}
object1.bbb();
//分别输出啥
(0,object1.bbb)();

第二个为什么就变成了window全局this呢

(object1.bbb)();

函数这样看是不是很熟悉。

和上面的自执行是不是一样

最后执行的就是这样的

(function () {
        console.log(this)
        console.log('bbb is running')
 })()

this 成功被换了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值