前端面试-----JavaScript中原型链与原型
1.构造函数
2.五条原型原则
(1).所有的引用类型(数组,对象,函数)都具有对象特性,即可*扩展属性(除了null以外)
(2).所有的引用类型(数组,对象,函数),都有
一个_proto_属性,属性值是一个普通的对象 (隐式原型)
(3).所有的函数,都有一个prototype属性,属性值也是一个普通的对象
(4).所有的引用类型(数组,对象,函数),_proto_属性值值向他构造函数的prototype属性值
(5).当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去它的_proto_(即它的构造函数的prototype)中寻找
这个例子中f这个对象没有alertName这个属性,便去他的_prototype_中寻找,即他构造函数的prototype中寻找这个属性
3.原型链
1. instanceof用于判断引用类型属于那个构造函数的方法
f instanceof Foo的判断逻辑是:
f的_proto_一层一层往上,能否对应到Foo.prototype
再试着判断 f instanceof Object
2.关于描述new一个对象的过程
创建一个新对象, this指向这个新对象,执行代码,即对this赋值,返回this
3原型链例子(模仿jqurey的源码)