Javascript的继承机制基于原型,而不是Class类 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象 普通对象没有prototype,但有__proto__属性 prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针
实例的 __proto__属性指向的是 构造函数的prototype function Foo(){}; var foo = new Foo(); foo.__proto__ == Foo.prototype//true
每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
以下运行的结果是false的是 function Box(){this.name='zhang';}
function Desk(){this.age=100;}
function Table(){this.lever=1000}
Desk.prototype=new Box();//通过原型链继承
var desk=new Desk();
var table=new Table(); A alert(table instanceof Object) B alert(desk instanceof Box); C alert(Desk instanceof Box); D alert(desk instanceof Desk ); 正确答案: C 解析: A. 一切事物皆对象 B. Dest 继承了 Box, 所以正确 C. Desk 是 Function的实例,和Box无关 D. desk 是 Desk 的实例
Javascript的继承机制基于原型,而不是Class类 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象 普通对象没有prototype,但有__proto__属性 prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针