hasOwnProperty()
函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。如果有,返回true
,否则返回false
。
该方法属于Object
对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。
IE 5.5+、FireFox、Chrome、Safari、Opera等主流浏览器均支持该函数。
语法
object.hasOwnProperty( propertyName )
参数
参数 | 描述 |
---|---|
propertyName | String类型指定的属性名称 |
返回值
hasOwnProperty()
函数的返回值为Boolean类型。如果对象object
具有名称为propertyName
的属性,则返回true
,否则返回false
。
此方法不会检查对象的原型链中是否存在该属性,该属性只有是对象本身的一个成员才会返回true
。
示例&说明
function Site(){ this.name = "CodePlayer"; this.url = "http://www.365mini.com/"; this.sayHello = function(){ document.writeln("欢迎来到" + this.name); };} var obj = { engine: "PHP" ,sayHi: function(){ document.writeln("欢迎访问" + this.url); }};// 使用对象obj覆盖Site本身的prototype属性Site.prototype = obj; var s = new Site();document.writeln( s.hasOwnProperty("name") ); // truedocument.writeln( s.hasOwnProperty("sayHello") ); // true// 以下属性继承自原型链,因此为falsedocument.writeln( s.hasOwnProperty("engine") ); // falsedocument.writeln( s.hasOwnProperty("sayHi") ); // falsedocument.writeln( s.hasOwnProperty("toString") ); // false // 想要查看对象(包括原型链)是否具备指定的属性,可以使用in操作符document.writeln( "engine" in s ); // truedocument.writeln( "sayHi" in s ); // truedocument.writeln( "toString" in s ); // true
时间: 2024-10-11 03:42:31