前端面试-----JavaScript中原型链与原型

1.构造函数

前端面试-----JavaScript中原型链与原型

2.五条原型原则

    

(1).所有的引用类型(数组,对象,函数)都具有对象特性,即可*扩展属性(除了null以外)

(2).所有的引用类型(数组,对象,函数),都有

一个_proto_属性,属性值是一个普通的对象    (隐式原型)

(3).所有的函数,都有一个prototype属性,属性值也是一个普通的对象

(4).所有的引用类型(数组,对象,函数),_proto_属性值值向他构造函数的prototype属性值

(5).当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去它的_proto_(即它的构造函数的prototype)中寻找

前端面试-----JavaScript中原型链与原型

这个例子中f这个对象没有alertName这个属性,便去他的_prototype_中寻找,即他构造函数的prototype中寻找这个属性

3.原型链

前端面试-----JavaScript中原型链与原型

1. instanceof用于判断引用类型属于那个构造函数的方法

    f instanceof Foo的判断逻辑是:

    f的_proto_一层一层往上,能否对应到Foo.prototype

    再试着判断 f   instanceof   Object

2.关于描述new一个对象的过程

创建一个新对象, this指向这个新对象,执行代码,即对this赋值,返回this

3原型链例子(模仿jqurey的源码)

前端面试-----JavaScript中原型链与原型