(0,function(){})()

看源码的时候经常能看到(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版权协议,转载请附上原文出处链接和本声明。