JavaScript的API

1.Object

1.1Object函数的原型(prototype)包含的方法:

hasOwnProperty(property):
判断调用该方法的对象是否包含某一实例属性,包含返回true,不包含返回false。注意:传入该方法的属性名必须使用双引号或单引号(个人理解:如果不使用引号,则JavaScript解释器会将属性名解析为变量,则会导致错误)。例如:
"use strict"
var obj1 = new Object();
var obj2 = new Object();
//此处为obj1添加的name属性即为实例属性
obj1.name = "Tom";
console.log(obj1.hasOwnProperty("name"));//true
console.log(obj2.hasOwnProperty("name"));//false
delete obj1.name;
console.log(obj1.hasOwnProperty("name"));//false

扩展:可以将该方法与in操作符结合使用,判断给定的属性是存在于实例中还是原型中。如:

"use strict"
var obj1 = {};
var obj2 = {};
//在Object函数的原型对象中添加job属性(一般不会在Object函数的原型对象中添加属性,此处只是为了演示)
Object.prototype.job = "software engineer";
obj1.job = "hardware engineer";
console.log(obj1.hasOwnProperty("job"));//true
console.log("job" in obj1);//true
console.log(obj2.hasOwnProperty("job"));//false
console.log("job" in obj2);//true
console.log("***********")
//在实例中添加的属性会屏蔽掉原型中的同名属性
console.log(obj1.job);//hardware engineer

猜你喜欢

转载自www.cnblogs.com/domost/p/10315981.html