码迷,mamicode.com
首页 > 其他好文 > 详细

hasOwnProperty()&&isPrototypeOf()

时间:2016-08-09 12:03:43      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

1、hasOwnProperty()

hasOwnProperty()函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。如果有,返回true,否则返回false

该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。

IE 5.5+、FireFox、Chrome、Safari、Opera等主流浏览器均支持该函数。

语法:

object.hasOwnProperty(propertyName)

参数:

参数描述
propertyName String类型指定的属性名称



返回值:

hasOwnProperty()函数的返回值为Boolean类型。如果对象object具有名称为propertyName的属性,则返回true,否则返回false

此方法不会检查对象的原型链中是否存在该属性,该属性只有是对象本身的一个成员才会返回true

 1 function Site(){
 2     this.name = "CodePlayer";
 3     this.url = "http://www.365mini.com/";
 4 
 5     this.sayHello = function(){
 6         document.writeln("欢迎来到" + this.name);
 7     };
 8 }
 9 
10 var obj = {
11     engine: "PHP"
12     ,sayHi: function(){
13         document.writeln("欢迎访问" + this.url);
14     }
15 };
16 // 使用对象obj覆盖Site本身的prototype属性
17 Site.prototype = obj;
18 
19 var s =  new Site();
20 document.writeln( s.hasOwnProperty("name") ); // true
21 document.writeln( s.hasOwnProperty("sayHello") ); // true
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()&&isPrototypeOf()

标签:

原文地址:http://www.cnblogs.com/liushenghuan/p/5752568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!