JavaScript中的显式类型转换和typeof

时间:2015-01-05 11:59:49

标签: javascript

    var x = +"5";    // 5
    alert("string to number explicitly: "+typeof x); //  number

现在考虑一下:

当我们 字符串 转换为 数字 <时/ strong>,结果是 字符串 数字 值,如果它只是 < EM>号 ; 所有其他字符串变为NaN

var y = +"foo";  //NaN
alert(typeof y); // Why this results in number?

2 个答案:

答案 0 :(得分:4)

typeof NaN"number"及其预期行为。 更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN

答案 1 :(得分:1)

将变量转换为数字的最短格式。 +anything正在尝试将anything转换为数字。

由于"foo"是一个字符串而不是有效数字,因此它返回NaN