美文网首页
原型检测方式

原型检测方式

作者: 恍若如梦hzpeng | 来源:发表于2017-08-31 18:01 被阅读19次
    • isPrototypeOf()

    用来判断一个对象是否指向了该构造函数的原型对象,如果是返回true,不是则返回false。
    原型对象.isPrototypeOf(实例化对象)

    function Box(){};
    Box.prototype.name = "小明";
    Box.prototype.age = "20";
    var b = new Box();
    b.name = "jack";
    Box.prototype.isPrototypeOf(b);  //返回true
    
    • hasOwnProperty()

    用来判断一个属性是否在实例中,如果在实例中返回true,如果不在返回false。可以和isprototypeOf()一起使用判断属性是否只存在在原型中。
    实例对象.hasOwnProperty("属性")

    function Box(){};
    Box.prototype.name = "小明";
    Box.prototype.age = "20";
    var b = new Box();
    b.name = "jack";
    b.hasOwnProperty("name");  //返回true
    b.hasOwnProperty("age") ;  //返回false
    
    • in操作符

    用来判断一个属性是否存在(在原型里或实例里),如果存在返回true,如果不存在返回false。
    "属性名" in 实例化对象

    function Box(){};
    Box.prototype.name = "小明";
    Box.prototype.age = "20";
    var b = new Box();
    b.name = "jack";
    alert("name" in b);  //true
    alert("age" in b); //true
    
    • delete

    删除属性,只能删除实例里面的属性或方法,不能删除原型里的属性或方法
    delete b.name

    相关文章

      网友评论

          本文标题:原型检测方式

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