hasOwnProperty

Posted SkyTeam_LBM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hasOwnProperty相关的知识,希望对你有一定的参考价值。

javascript中hasOwnProperty函数方法是返回一个布尔值.指出一个对象是否具有指定名称的属性.
语法: object.hasOwnProperty(proName);
object 是必选项,一个对象的实例.
proName一个属性名称的字符串值.
此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。
想要查看对象(包括原型链)是否具备指定的属性,可以使用in操作符.
 1 function Site() {
 2     this.name = "百度搜索页面";
 3     this.url = "http://www.baidu.com/";
 4     this.sayHello = function () {
 5         document.writeln("欢迎来到" + this.name);
 6     }
 7 }
 8 var obj = {
 9     engine : "php",
10     sayHi: function() {
11         document.writeln("欢迎访问" + this.url);
12     }
13 }
14 
15 //使用对象obj覆盖Site本身的prototype属性
16 Site.prototype = obj;
17 
18 var s =  new Site();
19 document.writeln( s.hasOwnProperty("name") ); //true
20 document.writeln( s.hasOwnProperty("sayHello") ); //true
21 
22 //以下属性继承自原型链, 因此为false
23 document.writeln( s.hasOwnProperty("engine") ); //false
24 document.writeln( s.hasOwnProperty("sayHi") ); //false
25 document.writeln( s.hasOwnProperty("toString") ); //false
26 
27 //想要查看对象(包括原型链)是否具备指定的属性,可以使用in操作符
28 document.writeln( "engine" in s ); //true
29 document.writeln( "sayHi" in s ); //true
30 document.writeln( "toString" in s ); //true

以上是关于hasOwnProperty的主要内容,如果未能解决你的问题,请参考以下文章