看源码的时候经常能看到(0,function(){})这种写法
原理是用了js的, 操作符,从左往右求值,返回最后一个值
console.log((1,2,3)) // 3
可以用来改变this指向
const test = {
fn(){
console.log(this)
}
}
test.fn() // this指向test
(test.fn)() // this指向test
(0,test.fn)() // 第一个括号里面的代码被当成了一个表达式。 this指向window 严格模式this是undefined
至于为啥这么用,网上的大佬们说可能是更改了原型链上的方法,为了避免影响,就用这个方式
版权声明:本文为xuyanl原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。