您的位置:首页 > 其它

原型继承名词解释

2016-03-12 17:50 525 查看
constructor:对象的属性指向其构造器函数,函数的constructor为Function

hasOwnProperty:对象是否拥有属性,obj.hasOwnProperty(‘name’);判断name是否是obj自身的属性

has 有 own拥有 property属性

propertyIsEnumerable:属性是否可枚举 ,length不可枚举,原型中的属性不可枚举,虽然原型中的属性不能枚举,但实际是能枚举出来,

for(var i in myobj){

log(i+”:”+myobj[i])

}

isPortotypeOf:是谁的原型,obj.isPrototypeOf(myobj),obj是myobj的原型吗

prototype:函数的原型对象,实例对象没有。函数的原型对象是一个空对象,有一个constructor属性指向F函数,和proto指向Object

var F=function(name){

this.name=name;

};

var obj={

category:”human”,

say: function () {

alert(“Hello “+this.name+ ” you are a “+this.category)

}

};

var myobj=new F(‘liu’);

log(obj.prototype);//undefined

log(myobj.prototype);//undefined

log(F.prototype);//空对象,有一个constructor属性指向F函数,和proto指向Object

proto:实例对象的属性,指向此对象的原型对象,也即是实例对象的构造器函数的原型对象 ,对象原型直接覆盖的需要重置constructor属性。F.prototype=obj;

F.prototype.constructor=F;

var log=console.log.bind(console);

var F=function(name){

this.name=name;

this.age=’20’;

};

var obj={

category:”human”,

say: function () {

alert(“Hello “+this.name+ ” you are a “+this.category)

}

};

var myobj=new F(‘liu’);

log(obj.proto);//对象直接量定义的对象的,指向Object

log(myobj.proto);//构造器new的对象,指向F构造器函数的原型对象

log(F.proto);//函数的proto,是function(){}空函数不知道是什么鬼
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: