var x = +"5"; // 5
alert("string to number explicitly: "+typeof x); // number
現在考慮這個:顯式類型轉換和typeof運算在JavaScript
當我們轉換一個串到數,結果是數字值字符串如果它只是一個號碼; 所有其他字符串成爲NaN的
var y = +"foo"; //NaN
alert(typeof y); // Why this results in number?
var x = +"5"; // 5
alert("string to number explicitly: "+typeof x); // number
現在考慮這個:顯式類型轉換和typeof運算在JavaScript
當我們轉換一個串到數,結果是數字值字符串如果它只是一個號碼; 所有其他字符串成爲NaN的
var y = +"foo"; //NaN
alert(typeof y); // Why this results in number?
typeof NaN
是爲"number"
和它的預期行爲。 進一步的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN
最短的形式,以一個變量數字轉換。 +anything
正在嘗試將anything
轉換爲數字。
由於"foo"
是一個字符串,而不是一個有效的數字因此返回NaN
權威的參考是[* ECMA-262§11.4.3*](http://ecma-international.org/ecma-262/5.1/#sec-11.4.3)(另見[*§4.3.20*](http://ecma-international.org/ecma-262/5.1/#sec-4.3.20))。 ;-) – RobG