Javascript 访问器属性

由 alexbro 创建,youj 最后一次修改 2017-01-06

Javascript面向对象设计 - Javascript识别参考类型


为了识别原始类型,我们使用 typeof 运算符。

function reflect(value) { 
    return value; 
} 

console.log(typeof reflect);    // "function" 

例子

以下代码显示在参考类型上应用 typeof 运算符变量返回对象。

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  www.w3cschool.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);

上面的代码生成以下结果。

这不是很有用,因为我们有时想知道对象表示的类型。


instanceof 运算符接受一个对象和一个构造函数参数。

当值是构造函数指定的类型的实例时,instanceof returns true; 否则,它返回false,你可以看到这里:

var items = []; 
var object = {}; 
//  www.w3cschool.cn
function reflect(value) { 
   return value; 
} 

console.log(items instanceof Array);        // true 
console.log(object instanceof Object);      // true 
console.log(reflect instanceof Function);   // true 

上面的代码生成以下结果。

instanceof 运算符可以识别继承的类型。

每个对象都是一个Object的实例,因为每个引用类型都继承自Object。

以下代码检查使用instanceof创建的三个引用:

var items = []; 
var object = {}; 
//  www.w3cschool.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 

上面的代码生成以下结果。

标识数组

此方法在收到时返回true一个本地数组的值。

var items = []; 
console.log(Array.isArray(items));      // true 

上面的代码生成以下结果。

以上内容是否对您有帮助:
硅心科技
二维码
建议反馈
二维码