2013-12-19 114 views

回答

5

與null比較時,這意味着什麼?

這意味着你已經說過:它檢查值是否正好是null


a === null是真的如果anull

The Strict Equality Comparison Algorithm in the specification

1.如果Type(x)Type(y)不同,返回false。
2.如果Type(x)是Undefined,則返回true。
3.如果Type(x)爲空,則返回true。

所以,只有當Type(a)爲空時,比較才返回true。

重要事項:不要混淆內部Type函數與typeof運算符。 typeof null實際上會返回字符串"object",這比幫助更困惑。


a == null爲真,如果的a值爲nullundefined

The Abstract Equality Comparison Algorithm in the specification

2.如果xnullyundefined,返回true。
3.如果xundefinedynull,則返回true。

+0

涼的東西,漂亮的鏈接! – JoeC

-1

===表示它檢查變量的值和類型。例如,從w3c頁面拉出,給定x = 5,x是一個int,所以x ===「5」是false,因爲它比較字符串和int,並且x === 5是true,因爲它既是int和正確的價值。

+0

很好的例子,但OP在具體詢問'null'情況下的比較。 – adamdunson

1

===是嚴格的運營商,它不僅比較值,而且類型的變量,這樣

string===string 
int===int 

==只比較值。

0

1==truetrue

1===truefalse

如。 ===在使用時比較數據類型級別== JavaScript將通過它自己進行類型轉換

0

使用三等於,這些值的類型也必須相同。但不在==中。

1==true // this return true 
1===true // but return false 

a==null // will true if a is null or undefined 
相關問題