默认情况下,javascript会将字符串强制转化数据运算:
例如:
var x = "100";
var y = "10";
var z = x / y; // z 将是 10
但是加法运算是个例外,以为+符号在javascript中也是字符串拼接符号,所以字符串拼接优先。
例如:
var x = "100";
var y = "10";
var z = x + y; // z 不会是 110(而是 10010)
数值可以是对象
通常 JavaScript 数值是通过字面量创建的原始值:var x = 123
但是也可以通过关键词 new 定义为对象:var y = new Number(123)
实例
var x = 123;
var y = new Number(123);
// typeof x 返回 number
// typeof y 返回 object
请不要创建数值对象。这样会拖慢执行速度。
new 关键词使代码复杂化,并产生某些无法预料的结果:
当使用 == 相等运算符时,相等的数看上去相等:
实例
var x = 500;
var y = new Number(500);
// (x == y) 为 true,因为 x 和 y 有相等的值