為了識別原始類型,我們使用 typeof
運(yùn)算符。
function reflect(value) {
return value;
}
console.log(typeof reflect); // "function"
以下代碼顯示在參考類型上應(yīng)用 typeof
運(yùn)算符變量返回對象。
var items = new Array();
var now = new Date();
var error = new Error("Error.");
var func = new Function("console.log("Hi");");
var object = new Object();
var re = new RegExp("\\d+");
//from m.hgci.cn
console.log(typeof items);
console.log(typeof now);
console.log(typeof error);
console.log(typeof func);
console.log(typeof object);
console.log(typeof re);
上面的代碼生成以下結(jié)果。
這不是很有用,因?yàn)槲覀冇袝r想知道對象表示的類型。
instanceof
運(yùn)算符接受一個對象和一個構(gòu)造函數(shù)參數(shù)。
當(dāng)值是構(gòu)造函數(shù)指定的類型的實(shí)例時,instanceof returns true; 否則,它返回false,你可以看到這里:
var items = [];
var object = {};
// m.hgci.cn
function reflect(value) {
return value;
}
console.log(items instanceof Array); // true
console.log(object instanceof Object); // true
console.log(reflect instanceof Function); // true
上面的代碼生成以下結(jié)果。
instanceof
運(yùn)算符可以識別繼承的類型。
每個對象都是一個Object的實(shí)例,因?yàn)槊總€引用類型都繼承自O(shè)bject。
以下代碼檢查使用instanceof創(chuàng)建的三個引用:
var items = [];
var object = {};
// m.hgci.cn
function reflect(value) {
return value;
}
console.log(items instanceof Array); // true
console.log(items instanceof Object); // true
console.log(object instanceof Object); // true
console.log(object instanceof Array); // false
console.log(reflect instanceof Function); // true
console.log(reflect instanceof Object); // true
上面的代碼生成以下結(jié)果。
此方法在收到時返回true一個本地?cái)?shù)組的值。
var items = [];
console.log(Array.isArray(items)); // true
上面的代碼生成以下結(jié)果。
更多建議: