參考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeofhtml
語法:jquery
typeof XXXX(XXXX表達式) or typeof (XXXX)
返回:數組
返回一個字符串(表示未經計算的操做數的類型),經常使用於判斷數據類型(只能區分基本類型,即 「number」,」string」,」undefined」,」boolean」,」object」 五種。對於數組、對象來講,其關係錯綜複雜,使用 typeof 都會統一返回 「object」 字符串。)
注意:函數
null 返回 "object",
[] 返回 "object"// 數組被認爲是一個對象
參考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/instanceof測試
語法:this
XXXX(要檢測的對象)instanceof XXXX(XX構造函數)
返回:spa
返回 bool,經常使用於測試一個對象在其原型鏈中是否存在一個構造函數的 屬性prototype
注意:.net
varmyString =new String();
myString instanceof String; // 返回 true
myString instanceof Object; // 返回 true
參考:https://www.cnblogs.com/wyaocn/p/5796142.htmlprototype
語法:code
toString.call(XXXX)
or
Object.prototype.toString.call(XXXX)
返回:
返回一個字符串("[object Null]"表示null類型),經常使用於判斷數據類型
注意:
自定義類型 返回 "[object Object]",
eg.自定義類型以下
function Person(name, age) { this.name = name; this.age = age; } var person = new Person("Rose", 18); Object.prototype.toString.call(arr); //」[object Object]」 // 很明顯這種方法不能準確判斷person是Person類的實例,而只能用instanceof 操做符來進行判斷(以下所示)
console.log(person instanceof Person);//輸出結果爲true
參考:http://www.w3school.com.cn/jsref/jsref_constructor_array.asp
語法:
XXXX.constructor
返回:
返回對建立此對象的數組函數的引用,經常使用於判斷數據類型
注意:
[] 返回 function Array() { [native code] }(用 if() 判斷)test.constructor==Array
true 返回 function Boolean() { [native code] }(用 if() 判斷)test.constructor==Boolean
1. Array.isArray() 用於肯定傳遞的值是不是一個 Array。參考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
2. $.isArray()函數用於判斷指定參數是不是一個數組。參考 http://www.runoob.com/jquery/misc-isarray.html
*參考連接:https://blog.csdn.net/u011374890/article/details/50325323https://www.itcodemonkey.com/article/3440.html