1、看示例
let a = 1;
let b = 2;
let c;
c = (--b, a++)
console.log(a)
console.log(b)
console.log(c)
output:
2
1
1
(--b.,a++)会依次执行,并把最右边的值赋值给c
2、示例
let a = {
b (args){
console.log(this)
console.log(args)
}
}
let c = (a.b)(1)
let d = a.b(1)
output:
{ b: [Function: b] }
1
{ b: [Function: b] }
1
这两种形式是一样的,this指向的是b
let a = {
b (args){
console.log(this)
console.log(args)
}
}
let e = (0,a.b)(1)
let f = a.b
f(1)
output:
<ref *1> Object [global] {
...
}
1
<ref *1> Object [global] {
...
}
1
这两种形式是一样的,this都是指向的global
综上,当使用(0,fn)(args)这种写法时,会切断this和fn的联系,让this指向默认的全局变量