也谈js传值和传址
通常的认识就是基本的数值元素是传值,对象等复杂结构传址,无需争论,一试便知。
首先是数值
var a = 1 var b = a a = 2 console.log(a) console.log(b)
结果 a=2 b=1,显然是值复制
接下来是字符串
var a = "a" var b = a a = "a1" console.log(a) console.log(b)
结果 a = a1 b=a, 值复制
再来个对象
var a = {val:1} var b = a a.val = 2 console.log(a) console.log(b)
结果 a = {val = 2} b ={val = 2} 传址
以上