一、原型(prototype)
1、定义:js提供给【函数】的一个对象类型的属性。不需要手动创建,默认存在
2、对象查找属性的规则:
①首先在对象本身中查找;
②没有时去原型中查找;
③任何一层中找到,就返回值;
④当原型中也没有时,返回undefined。
3、作用:
①开辟一块公共的空间,供通过该构造函数创建的对象使用
②可以对系统类执行扩展操作。
4、注意:
①原型中的属性,只能是通过该构造函数创建的对象使用。
②给圆形的属性赋值时,尽量不要使用对象类型的数据,否则上一个对象对数据的修改会影响到下一个对象的调用。
eg:
function Man(){}
Man.prototype.girlFriends = ['貂蝉','西施','杨玉环'];
var wxw = new Man();
wxw.girlFriends[2] = '武则天';
console.log(wxw.girlFriends);//貂蝉','西施','武则天'
var gjz = new Man();
console.log(gjz.girlFriends);//'貂蝉','西施','武则天'
二、原型的应用
eg: