1、原型是什么?原型链是什么?
原型是一个prototype对象,用于表示类型之间的关系;
原型链指的是在JavaScript中对象之间的继承是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条,专业术语称之为原型链。
举例:
Student——>Person——>Object:学生继承人这个类,人这个类继承对象类;
var Person=function(){ this.age="匿名" }; var Student=function(){}; //创建继承关系,prototype执行Person的一个实例对象 Student.prototype=new Person();
五条原型规则:
1、所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(除了“null”以外);
2、所有的引用类型都有一个_proto_属性,叫隐式原型,属性值是一个普通的对象;
3、所有的函数,都有一个prototype属性,叫显式原型,属性值是一个普通的对象;
4、所有的引用类型的_proto_属性,指向它的构造函数的prototype属性值;
5、当试图得到一个对象的某个属性时,如果没有,会向它的_proto_中寻找,即去它的构造函数的prototype中寻找。
再次举例:
Dog类继承了Animal类,随即拥有的Animal的eat方法(非常low的一个例子)
接近实战的例子(一个封装DOM查询的例子):
//一定要非常注意JavaScript的位置 测试原型继承封装原生JavaScript