我目前正在学习javascript中的对象。
我遇到了一些我没想到的行为,我想确认一下,看到我应该看到的是什么,或者我是否在某处犯了错误。
var a = 1;
var b = a;
b++;
console.log(a); // 1 (As expected)
console.log(b); // 2
var a = 'string';
var b = a;
b += 'ier';
console.log(a); // string (As expected)
console.log(b); // stringier
var a = {};
var b = a;
b['testValue'] = 'test';
console.log(a); // {testValue = 'test'} (Wait... what?!)
console.log(b); // {testValue = 'test'}
加了:
我刚尝试使用数组进行相同的实验,我看到数组表现出与对象相同的行为(假设数组是Javascript中的对象,可能是预期的)
var a = [];
var b = a;
b[0] = 'test';
console.log(a); // ['test'] (Hmmm... again!)
console.log(b); // ['test']
为什么对象和数组的行为与数字和字符串不同?
为什么var b
仅引用var a
而不是重复它?