美文网首页
isPrototypeOf()函数和instanceof运算符

isPrototypeOf()函数和instanceof运算符

作者: _李雷 | 来源:发表于2017-01-14 15:04 被阅读0次

    一、instanceof运算符

                 instanceof运算符希望左操作数是一个对象,右操作数标识对象的类。如果左侧的对象是右侧类的实例,则表达式返回true;否则返回false.

               

                 注意点:

                a.当通过instanceof判断一个对象是否是一个类的实例的时候,这个判断也会包含对“父类”的检测。

                b.如果instanceof的左操作数不是对象的话,instanceof返回false,如果右操作数不是函数,则抛出一个类型错误异常。

    检测一个对象的类型,推荐使用Object.prototype.toString方法;因为这是唯一一个可依赖的方式,typeof的一些返回值在标准文档中并未定义,因此不同的引擎肯能不同,我们使用Object.prototype.toString方法:


    二、isPrototypeOf()方法

                 检测一个对象是否是另一个对象的原型(或者处于原型链中)

             Mozilla实现的JavaScript对外暴露了一个专门命名为_proto_属性,用以直接查询/设置对象的原型,但并不推荐使用_prototo_,因为尽管Safari和Chrome的当前版本都支持它,但IE和Opera还未实现它。

    相关文章

      网友评论

          本文标题:isPrototypeOf()函数和instanceof运算符

          本文链接:https://www.haomeiwen.com/subject/xtvebttx.html