prototype作用在JS中的对象上,可以为对象添加属性和方法。
语法:object.prototype.name=value
细节:当通过一个类创建对象以后,当通过对象访问属性的时候,JS查找属性的顺序是:
1.对象本身的属性,比如 obj={} obj.age=18
2.对象的类的prototype中查找,比如 obj={} obj.prototype.age=18
3.对象的根对象(object对象)中查找
4.当一个对象的类定义之后,可以通过prototype为对象的类添加新的属性和方法,此后,通过该类新产生的对象就具备了该属性或方法
function Persion() {
this.name="xiaol"
}
p1 = new Persion()
p1.name //"xiaol"
Persion.prototype.age = 18
p1.age //18
p2 = new Persion()
p2.age //18
5.通过obj.hasOwnProperty(attrName)判断某个属性是否是对象本身的属性,例如obj.hasOwnProperty("age")返回false
6.通过attrName in obj判断属性是否在对象内(包括本身属性和原型属性),例如:"age" in p1返回ture
时间: 2024-10-27 17:26:32