js--打卡--11.27in vs hasOwnProperty

来源:互联网 发布:gre作文被判雷同 知乎 编辑:程序博客网 时间:2024/06/06 07:36
<script>//创建一个构造函数function Person(){}Person.prototype.name = "我是Person的name";var per1 = new Person();console.log(per1.name);//in VS hasOwnProperty//in 判断一个属性是否属于一个函数。但如果该属性在prototype(原型对象中)也会返回trueconsole.log("name" in Person); //true//hasOwnProperty 判断一个属性是否属于一个函数。但如果该属性在prototype(原型对象中)会返回falseconsole.log(per1.hasOwnProperty("name")); //false//?hasOwnProperty这个属性在哪里呢?//当一个类的实例调用一个属性的时候,会先在自身找该属性    //如果没有到实例的原型对象中去找,    //如果还没有再到实例的原型的原型中找    //直到找到Object的原型。console.log(per1.__proto__.hasOwnProperty("hasOwnProperty")); //falseconsole.log(per1.__proto__.__proto__.hasOwnProperty("hasOwnProperty")); //trueconsole.log(per1.__proto__.__proto__.__proto__); //null</script>

原创粉丝点击