也谈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} 传址

以上

posted @ 2018-11-09 08:37  alan0405  阅读(134)  评论(0编辑  收藏  举报