原型继承名词解释

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(){}空函数不知道是什么鬼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值