被构造函数 new 出来的对象会继承 new 的这个构造函数所有的属性和方法,包括 new 出 new 的这个构造函数的构造函数,然而产生了原型链,constructor指向原型链最顶端的构造函数。
function AA(){
this.aa = 123;
}
var bb = new AA();
BB.prototype = bb;
function BB(){
this.bb = 'b1234';
}
var cc = new BB();
CC.prototype = cc;
function CC(){
this.cc = 'cc';
}
var cc = new CC();
不是所有对象都有原型的,有一例外
<script>
var obj = Object.creat(null);
// 通过这种方式创建出来的对象是没有原型的
</script>