6
1 + undefined = ?  
  1. 首先,String(undefined) 得到字符串“undefined”
  2. 二、1+“未定义”=“1未定义”

怎么了?

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

你能解释一下结果吗?

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

4

3 回答 3

15

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

于 2013-02-20T10:40:09.537 回答
1

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

于 2013-11-24T03:40:06.000 回答
0

1 + 未定义 = NaN

当你这样做时,1 + "undefined"你将 1 连接到 String"undefined"导致字符串"1undefined"

undefined is nothing or like Null in other language (variable is not set)

在 Javascript 中,null 是值的预期缺失(在某处设置为 null),而 undefined 是值的意外缺失(从不设置)

你想要完成什么?

于 2013-02-20T10:30:31.747 回答