javaScript中hasOwnProperty函数
返回值:布尔值,指出一个对象是否具有指定名称的属性。
使用方法:
object.hasOwnProperty(proName)
其中:
参数object是必选项。一个对象的实例。
proName是必选项。一个属性名称的字符串值。
如果 object 具有指定名称的属性,那么javaScript中hasOwnProperty函数方法返回 true;反之则返回 false。此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。
example 1:
在下例中,所有的 String 对象共享一个公用 split 方法。下面的代码将输出 false 和 true。
var s = new String("JScript");
console.log(s.hasOwnProperty("split"));//output false
console.log(String.prototype.hasOwnProperty("split"));//output true
example 2:
var man = {hands:2,heads:1,legs:2};
if(typeof Object.prototype.clone == "undefined"){
Object.prototype.clone = function(){}; // 把clone方法加到所有对象上
}
for(var i in man){
if(man.hasOwnProperty(i)){
console.log(i + ":" + man[i]);
}
}
加了hahOwnProperty判断,输出的结果是:
hands:2
head:1
leg:2
example 3:
example 3:
var man = {hands:2,head:1,leg:2};
if(typeof Object.prototype.clone == "undefined"){
Object.prototype.clone = function(){};// 把clone方法加到所有对象上
}
for(var i in man){
console.log(i + ":" + man[i]);
}
没有加hasOwnProperty判断,输出的结果是:
hands:2
head:1
leg:2
clone:function (){}
参考书籍:《javascript设计模式》 Stoyan Stefanov 著,陈新 译
参考书籍:《javascript设计模式》 Stoyan Stefanov 著,陈新 译