代码一:
var a = b = ''a = 1console.log(a)//打印1console.log(b)//打印''
代码二:
var a = b = []a.push(1)console.log(a)//打印[1]console.log(b)//打印[1]
为什么代码一两变量不等,而代码二两变量相等?
解决方案
这个涉及到传引用还是传值的问题。像数组这种对象,传的是引用,而不是直接复制一个传值。
因此var a=b='',两个是不同地址的。
而var a=b=[],a,b两个是指向相同地址