instanceof运算符

参考:https://wangdoc.com/javascript/oop/prototype.html

instanceof运算符返回一个布尔值,表示对象是否为某个构造函数的实例。instanceof运算符的左边是实例对象,右边是构造函数,它会检查右边构造函数的原型对象(prototype),是否在左边对象的原型链上。由于instanceof检查整个原型链,因此同一个实例对象,可能会对多个构造函数都返回true。

var date = new Date();
console.log(date instanceof Date);        //true
console.log(date instanceof Object);        //true

如果左边对象的原型链上只有null对象,这时,instanceof判断会失真。

var obj = Object.create(null);    //返回一个新对象obj
console.log(typeof(obj));         //object
console.log(obj instanceof Object);     //false

 instanceof运算符的一个应用:判断值的类型。

var arr = [1,2,3,4,5];
var obj = {};
console.log(arr instanceof Array);      //true
console.log(obj instanceof Object);    //true

 注:instanceof运算符只能用于对象,不适用原始类型的值;对于undefined和null,instanceof运算符总是返回false。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值