JavaScript 自动类型转换

示例

请注意,数字可能会意外地转换为字符串或NaN(非数字)。

JavaScript是松散类型的。变量可以包含不同的数据类型,并且变量可以更改其数据类型:

var x = "Hello";     // typeof x是一个字符串
x = 5;               // 将typeof x更改为数字

在进行数学运算时,JavaScript可以将数字转换为字符串:

var x = 5 + 7;       // x.valueOf()是12,typeof x是一个数字
var x = 5 + "7";     // x.valueOf()是57,typeof x是一个字符串
var x = "5" + 7;     // x.valueOf()是57,typeof x是一个字符串
var x = 5 - 7;       // x.valueOf()是-2,typeof x是一个数字
var x = 5 - "7";     // x.valueOf()是-2,typeof x是一个数字
var x = "5" - 7;     // x.valueOf()是-2,typeof x是一个数字
var x = 5 - "x";     // x.valueOf()是NaN,typeof x是一个数字

从字符串中减去字符串不会产生错误,但会返回NaN(不是数字):

"Hello" - "Dolly"    // 返回NaN