什么是1 + undefined的结果

时间:2013-02-20 10:28:56

标签: javascript

1 + undefined = ?  
  1. 首先,String(undefined)获取字符串“undefined”
  2. second,1 +“undefined”=“1undefined”
  3. 出了什么问题?

    我在chrome控制台中运行它,它返回NaN

    你能解释一下结果吗?

    我认为它应该是“1 undefined”。 TKS

3 个答案:

答案 0 :(得分:10)

NaNNumber操作失败的结果。

1 + undefined           // NaN
"1" + undefined         // "1undefined"
1 + "" + undefined      // "1undefined"
1 + ("" + undefined)    // "1undefined"
typeof NaN              // "number"
typeof undefined        // "undefined"
NaN === NaN             // false (it's not reflexive!)
undefined === undefined // true (it's reflexive)
NaN.toString()          // "NaN"

NaN表示非数字,其中包含预期的数字。使用NaN的任何数字操作也会产生NaN

答案 1 :(得分:0)

1 + undefined = NaN

执行1 + "undefined"时,将1连接到字符串"undefined",从而产生字符串"1undefined"

undefined在其他语言中没有或者像Null一样(未设置变量)

在Javascript中,null是一个值的预期absense(设置为null),undefined是一个意外的值(从未设置)

你想要完成什么?

答案 2 :(得分:0)

您希望字符串连接,但只有在您至少有一个字符串时才会发生这种情况。在你的例子中,没有什么是字符串。 1不是字符串,undefined不是字符串。