您的位置:首页 > Web前端 > JavaScript

JS——原型链(1)

2017-12-02 20:46 141 查看
function Emp(ename,salary){
this.ename = ename;
this.salary = salary;
}

var emp1 = new Emp("mary",3500);
var emp2 = new Emp("join",5500);
Emp.prototype.hireDate = "2015/05/01";

console.log(emp1.toString()+":"+emp1.hireDate);
console.log(emp2.toString()+":"+emp2.hireDate);




原来一直不懂这些,现在有了一些感悟:

(1)图中的Emp是构造函数,Emp.prototype是Emp的原型对象,emp1和emp2是Emp1实例化出来的对象,也就是Emp1生产出来的对象(类似工厂);

(2)Emp.prototype原型对象放置公有属性和公有方法!!!!!!!!!这些公有(注意是公有)属性和方法可以被用来继承;

(3)emp1,emp2在被new出来时,就会自动继承Emp.prototype中的公有属性和公有方法,所以原型链如上图;

(4)new出来的对象以及构造函数还有原型对象组成了一整套,一个完整的小块儿。原型链就是这样的一个个小块组成的;

(5)原型对象本身也有原型,也有一个__proto__属性,这样形成的逐级引用关系,就是原型链。

//要继承的东西在Emp.prototype那里,所以emp1和emp2自然而然继承自Emp.prototype

//prototype:原型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: