var s = 'test';
s.len = 4; //创建一个临时对象,并给它的len属性赋值,随即销毁该对象。
var t = s.len; =====>结果是t值为undefined.
javascript禁止改变基本数据类型的原始值。
var s ="hello";
s.toUpperCase();
s; ===============>这个例子要表明字符串s并没有改变,而是创建了新的字符串。
对象和原始值不同,它们的值是可以改变的。
var obj = { x:1 }
obj.x = 2;
obj.y = 3;
对象的比较并非值比较,而是引用的比较,只有当它们都引用同一个基对象时,它们才相等。
var a = [];
var b = a;
b[0] = 1;
a[0]; //a[0] = 1;
a === b; //true
var a = { x:1};
var b = { x:1};
a === b; //false
将一个对象赋值给一个变量,仅仅是赋值的引用值,对象本身并没有复制。如果要得到对象或数组的副本,
必须要复制对象的每个元素或属性。
10 + " object"; // result: 10 object
"4" * "7"; //result: 28
var n = 1 - "x"; //"x"不能转换为数字,result: NaN;
n + " object"; //result: NaN object