function Person(name){
this.name = name;
}
Person.prototype.hi = function(){
console.log("hi", this.name);
}
function Student(name,age){
Person.call(this, name, age);
this.age = age;
}
Student.prototype = Object.create(Person.prototype);
Student.prototype.hi = function(){
console.log("student");
}
var obj = new Student("hqq", 22);
console.log(obj);
看到此图就知道JS的原型链了吧。
最后都会指向Object,然后Object.prototype.__proto__ 是 null
每个函数都有一个prototype属性:
每个对象都有一个__proto__指向原型链: