由同一构造函数创建出来的对象共同享有的属性
属于对象实例私有的属性
专门用来创建相同结构对象的专门方法
构造函数通常使用首字母大写
构造函数必须使用new关键字调用
1.创建了一个空对象 var ll={}
2.改变this指向 [由call和apply改变]
3.加属性 this.name="小明" this.age=18
4.返回一个全新的对象 return ll
任何对象没有权利修改原型中的属性,只要构造函数本身可以更改
构造函数中,专门用来存放共有属性的
只有函数才具备prototype属性
使用现有类型,创建出新的类型,新的类型可以使用现有类型的属性和方法,也可以拓展出现有类型没有的属性和方法【在原型中添加属性,后面由原型创建出来的对象中再次使用属性,则视为继承】
Array:所有数组的父类
Function:所有函数的父类
Object:所有对象的父类
_proto_: 隐士原型
任何一个对象都有隐式原型,用来实现继承的
一个对象的隐式原型默认指向创建该对象的构造函数的原型对象
每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系称之为原型链
以函数Foo为起点
function Foo() {}
2.Foo作为函数,由构造函数Function构造出来,所以隐式原型指向为Function.prototype的原型对象
3.Function本身也是函数,所以function Function()的原型对象为Function.prototype
本文作者:RKLS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!