3 回答

TA貢獻16條經(jīng)驗 獲得超3個贊
【===】
1、如果類型不同,就[不相等]?
2、如果兩個都是數(shù)值,并且是同一個值,那么[相等];(!例外)的是,如果其中至少一個是NaN,那么[不相等]。(判斷一個值是否是NaN,只能用isNaN()來判斷)?
3、如果兩個都是字符串,每個位置的字符都一樣,那么[相等];否則[不相等]。?
4、如果兩個值都是true,或者都是false,那么[相等]。?
5、如果兩個值都引用同一個對象或函數(shù),那么[相等];否則[不相等]。?
6、如果兩個值都是null,或者都是undefined,那么[相等]。?
=== 也就是必須嚴格等于,具體的可以百度下==和===的區(qū)別
謝謝

TA貢獻4條經(jīng)驗 獲得超0個贊
return value &&
typeof value ===?'object' &&
value.constructor === Array;
value 如果value為空的話&&的結(jié)果是false,就是判斷是否有值
typeof 函數(shù)返回的是參數(shù)類型,數(shù)組和對象均返回object,
constructor用來返回對象屬性創(chuàng)建的函數(shù),數(shù)組的話是Array
只并上前兩個的話,是無法判斷是不是數(shù)組,因為還有對象的可能性。
因此需要最后一個。當3個條件都為true的話,那么其結(jié)果便是array。
引用自segmentfault的fidding同學(xué)的答案。

TA貢獻3條經(jīng)驗 獲得超0個贊
判斷是否為數(shù)組,對象的constructor屬性就是它的原型函數(shù)Array.
undefined == null; ? ?//true
undefined === null; //false
添加回答
舉報