为什么 parseInt() 有时会 return 一个字符串?
Why does parseInt() sometimes return a string?
这是 copy/paste 来自 javascript 控制台的直接 chrome 中的新选项卡:
> var name = parseInt(prompt("enter a number"), 10);
undefined
> name
"77"
> var x = parseInt(prompt("Enter a number"), 10);
undefined
> x
77
出于某种原因,这似乎只有在我使用变量名称 "name" 时才会发生。即使在常规赋值时它仍然是一个字符串:
>name
"453"
>name = 77;
77
>name
"77"
表示当前window的名字的global variable name
is a special variable in browsers,永远是一个字符串。
根据经验,将脚本包装在 an IIFE 中通常是个好主意,这样它们就有一个本地范围,并且您不会与其他脚本和浏览器的变量发生冲突。这样做可以避免这个问题。
这是 copy/paste 来自 javascript 控制台的直接 chrome 中的新选项卡:
> var name = parseInt(prompt("enter a number"), 10);
undefined
> name
"77"
> var x = parseInt(prompt("Enter a number"), 10);
undefined
> x
77
出于某种原因,这似乎只有在我使用变量名称 "name" 时才会发生。即使在常规赋值时它仍然是一个字符串:
>name
"453"
>name = 77;
77
>name
"77"
表示当前window的名字的global variable name
is a special variable in browsers,永远是一个字符串。
根据经验,将脚本包装在 an IIFE 中通常是个好主意,这样它们就有一个本地范围,并且您不会与其他脚本和浏览器的变量发生冲突。这样做可以避免这个问题。