這個數值用於表示乙個本來要返回數值的運算元未返回數值的情況(這樣就不會丟擲錯誤了)。例如,在其他程式語言中,任何數值除以非數值都會導致錯誤,從而停止**執行。但在ecmascript(發音:「ek-ma-script」)中,任何數值除以非數值都會返回nan,因此不會影響其他**的執行。
nan本身有兩個非同尋常的特點。首先,任何涉及nan的操作(例如nan/10)都會返回nan,這個特點在多步計算中有可能導致問題。其次,nan與任何值都不相等,包括nan本身。
console.
log(
nan==
nan)
//false
console.
log(
nan+10)
;//nan
console.
log(
nan-10)
;//nan
console.
log(
nan*10)
;//nan
console.
log(
nan/10)
;//nan
console.
log(
"*****************************************");
console.
log(
10/string)
;//nan
console.
log(
10/object)
;//nan
console.
log(10/
"hello");
//nan
console.
log(
"hello"/10
);//nan
console.
log(
"*****************************************");
console.
log(10/
true);
//10
console.
log(
true/10
);console.
log(10/
false);
//infinity
console.
log(
false/10
);//0console.
log(10/
"");//infinity
console.
log(""/
10);//0
console.
log(10/
null);
//infinity
console.
log(
null/10
);//0console.
log(
"*****************************************");
console.
log(
10/undefined)
;//nan
console.
log(undefined/10)
;//nan
請看下面例子:
console.
log(
isnan
(nan))
;//true
console.
log(
isnan(10
));//false(10是乙個數值)
console.
log(
isnan
("10"))
;//false(可以被轉換成數值10)
console.
log(
isnan
("hello"))
;//true(不能被轉換成數值)
console.
log(
isnan(""
));//false(可以被轉換成數值0)
console.
log(
isnan
(true))
;//false(可以被轉換成數值1)
console.
log(
isnan
(false))
;//false(可以被轉換成數值0)
console.
log(
isnan
(null))
;//false(可以被轉換成數值0)
console.
log(
isnan
(undefined));
//true
ECMAScript中的函式
有 3 種定義函式的方式 函式宣告 function關鍵字後需要指定函式名 function sum num1,num2 不加分號 console.log sum 2,3 5函式表示式 function關鍵字後不用指定函式名 函式末尾需要新增乙個分號,就像宣告其他變數時一樣 var sum func...
python中nan的比較
在用numpy.sum等方法計算列表時,當列表中無目標元素,得到的為空值nan。然而不同於none,它無法用 進行判斷。nan not a number 在數學表示上表示乙個無法表示的數,這裡一般還會有另乙個表述inf,inf和nan的不同在於,inf是乙個超過浮點表示範圍的浮點數 其本質仍然是乙個...
ECMAScript中的箭頭函式
ecmascript中的箭頭函式 ecmascript6中允許使用箭頭 表示函式,使用箭頭函式使得 更加簡潔,使用箭頭函式時,函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。使得es程式設計時擺脫this作用域問題的困擾,避免多次使用bind this 繫結this的作用域。箭...