zoukankan      html  css  js  c++  java
  • 检测对象是否有某个属性(原型链检测和对象自身检测)

    1、检测对象是否有某个属性(对象自身+原型链)  typeof

    var a={
         x:1,
         cal:function(z){
             return this.x+this.y+z;}
    };
    var b=Object.create(a,{y:{value:3}});
    
    //对象a是对象b的原型对象,且b元素添加自身属性y,属性y的值设为3.
    typeof b.x+" "+typeof b.y+" "+typeof b.cal+" "+typeof b.get;
    //输出 "number number function undefined"

    2、只检测对象本身是否有某个属性(不回溯其原型链)  hasOwnProperty()

    var a={
        x:1,
        cal:function(z){
             return this.x+this.y+z;
        }
    };
    
    var b=Object.create(a,{y:{value:3}});
    //对象a是对象b的原型对象,且b元素添加自身属性y,属性y的值设为3.
    b.hasOwnProperty('cal')+" "+b.hasOwnProperty('x')+" "+b.hasOwnProperty('y')+b.hasOwnProperty('z');
    //输出  false false true false 
  • 相关阅读:
    闭包
    iframe
    函数声明和函数表达式
    简单的事件委托
    onhashchange
    WebP探索
    Chrome
    适合自己学习的一些网站
    模拟jQuery的一些功能
    __autoload()方法
  • 原文地址:https://www.cnblogs.com/pm-dongjian/p/5020272.html
Copyright © 2011-2022 走看看