原型继承名词解释
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(){}空函数不知道是什么鬼
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(){}空函数不知道是什么鬼
相关文章推荐
- 四则运算2及PSP0设计项目计划
- 第三周项目3-输出星号图(e)
- Linus,一生只为寻找欢笑
- angular 语法笔记
- Design库,全部控件的使用
- 代码健壮性--异常处理中try catch finall throw throws五个关键字学习
- Bias and Variance
- Linux基础指令
- C++ string 类型提取字符串
- Ladder network 优势与实现步骤
- Firemonkey访问iOS的钥匙串Keychain
- jdk1.8新特性详解
- MySQL常用基本操作
- Tyvj P1463 智商问题 分块
- 四则运算二
- C++ string 类型提取字符串
- mvchelper
- CF 593 A 2Char(选择合适的枚举方式)
- CF #622C. Not Equal on a Segment
- Java设计模式透析之 —— 适配器(Adapter)