首页 > 开发 > php > 正文

var同时赋值问题

2017-09-06 13:37:01  来源:网友分享

代码一:

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两个是指向相同地址