
in关键字
作用:用来检查对象中是否存在某个属性(不区分实例属性和原型属性) ####
语法:“属性名” in 对象
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
//01 提供一个构造函数 function Person(name) { this.name = name; } //02 设置构造函数的原型对象的属性 Person.prototype.sayHello = function () { console.log("hello"); } //03 创建对象 var p1 = new Person(); //04 使用in关键字判断对象中是否存在以下属性:name age sayHello console.log("age" in p1); //false console.log("name" in p1); //true console.log("sayHello" in p1); //true
|
对象的hasOwnProperty方法
作用:用来检查对象中是否存在指定的属性(只检查实例属性)
语法:对象.hasOwnProperty(“属性名”)
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
//01 提供一个构造函数 function Person(name) { this.name = name; } //02 设置构造函数的原型对象的属性 Person.prototype.sayHello = function () { console.log("hello"); } Person.prototype.des = "默认的描述信息"; //03 创建对象 var p1 = new Person(); //04 使用hasOwnProperty方法判断该属性是否是对象的实例属性 console.log(p1.hasOwnProperty("age")); //false console.log(p1.hasOwnProperty("name")); //true console.log(p1.hasOwnProperty("sayHello")); //false console.log(p1.hasOwnProperty("des")); //false
|
判断某对象中存在且只存在某个原型属性
1 2 3
|
function isProperty(obj, property) { return !obj.hasOwnProperty(property) && (property in obj); }
|
近期评论