关于Function.prototype
console.log(Array instanceof Function);
console.log([] instanceof Function);
console.log([] instanceof Object);
console.log(Array instanceof Object); // true
console.log(Function instanceof Object); // true
console.log(Object instanceof Function); //true
console.log(Object instanceof Object); //true
console.log(Function instanceof Function); //true
从Array instanceof Object就有点费解了,一般构造函数都是Function 就是一段代码,最后怎么都找到{}上去了? 通常的 Xx.prototype是一个 {}之类的东西,但 Function.prototype是一个function ,但是 Function.prototype的这个function是通过什么跟{}有关系了?
8 回复
console.log(Function === Function.constructor );
console.log(Object === Object.constructor );
这个Function 竞然自己构造自己 根据原型链 好象是这么个关系
null -> {} --> [Function: Empty] --> [Function: Function] --> [Function: XXX]
一般的构造器只能在 [Function: Function] --> [Function: XXX] 这个阶段 [Function: Function] 构造了各种轮子[Function: XXX] 也构造了 [Function: Function] 自己, 听起来好象有点乱