`var a = 1
var b = 2
var c = { name: '饥人谷', age: 2 }
var d = [a, b, c]
var aa = a //复制了a的值,aa与a是各为不同的变量
var bb = b //复制了b的值,aa与a是各为不同的变量
var cc = c //同个指针
var dd = d //同个指针
a = 11
b = 22
c.name = 'hello'
d[2]['age'] = 3 // 更换下位位置2(第三个元素)的age属性
console.log(aa) // 仍等于1;
console.log(bb) // 仍等于2;
console.log(cc) // {name:'hello',age:2}; 同步更改;
console.log(dd)` // [a , b , {name: "hello" , age :3}]
.如下代码输出
`var a = 1
var c = { name: 'jirengu', age: 2 }
function f1(n){
++n
}
function f2(obj){
++obj.age
}
f1(a) // a按值传递,非引用类型
f2(c) // c为引用类型,更改指针所在的对象
f1(c.age) //
console.log(a) // 1
console.log(c)` // { name: 'jirengu', age: 3 }
.stringify
转为字符串.parse()
解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。可以提供可选的reviver函数以在返回之前对所得到的对象执行变换