array.isarray()能判斷乙個元素是否為陣列,如果是就返回true,否則就返回falselet a = [1,2,3,4,5,6];
let b = [,,
,];let c = 123;
let d = 'www';
let e = ;
instanceof運算子用於檢測某個例項是否屬於某個物件原型鏈中console.log(array.isarray(a)); // true
console.log(array.isarray(b)); // true
console.log(array.isarray(c)); // false
console.log(array.isarray(d)); // false
console.log(array.isarray(e)); // false
還可以用於判斷物件console.log(a instanceof array); // true
console.log(b instanceof array); // true
console.log(c instanceof array); // false
console.log(d instanceof array); // false
console.log(e instanceof array); // false
console.log(e instanceof object); // true
判斷是否為陣列就是檢測arrray.prototype屬性是否存在於變數陣列(a,b)的原型鏈上,顯然a,b為陣列,擁有arrray.prototype屬性,所以為true
obiect的每個例項都有建構函式constructor,儲存著建立每個物件的函式
以下包含判斷其它的資料型別驗證
通過原型鏈查詢呼叫console.log(c.constructor === number); // true
console.log(d.constructor === string); // true
console.log(e.constructor === object); // true
以下包含判斷其它的資料型別驗證console.log(object.prototype.tostring.call(a) === '[object array]'); // true
console.log(object.prototype.tostring.call(b) === '[object array]'); // true
array.prototype屬性為array的建構函式原型,裡面包含有乙個方法console.log(object.prototype.tostring.call(c) === '[object number]'); // true
console.log(object.prototype.tostring.call(d) === '[object string]'); // true
console.log(object.prototype.tostring.call(e) === '[object object]'); // true
isprototypeof()
用於測試乙個物件是否存在於另乙個物件的原型鏈上。
console.log(array.prototype.isprototypeof(a)); // true
console.log(array.prototype.isprototypeof(b)); // true
console.log(array.prototype.isprototypeof(c)); // false
console.log(array.prototype.isprototypeof(d)); // false
console.log(array.prototype.isprototypeof(e)); // false
js判斷是否為陣列
var array 1,2,3 console.log array instanceof array 父子頁面陣列賦值,可能無效 console.log array.constructor array 父子頁面陣列賦值,可能無效 console.log array.proto constructor...
js判斷變數型別是否為陣列
判斷變數的型別是最經常使用的方法,但是判斷的方式有很多。1.typeof var ary 1,2,3,4 console.log typeof ary 輸出 object 很明顯,typeof只能檢測基本資料型別,並不能檢測出來是否為陣列。2.instanceof var ary 1,2,3,4 c...
js判斷變數型別是否為陣列
判斷變數的型別是最經常使用的方法,但是判斷的方式有很多。1.typeof var ary 1,2,3,4 console.log typeof ary 輸出 object 很明顯,typeof只能檢測基本資料型別,並不能檢測出來是否為陣列。2.instanceof var ary 1,2,3,4 c...