按照你的意思,我写了一段测试的代码: function func(){}; func.prototype=Object; for(p in func){ alert(p); }alert(func.prototype.isPrototypeOf(Object));for(p in Function.prototype){ alert(p); } alert(Function.prototype.isPrototypeOf(Object));可以发现,func.prototype.isPrototypeOf(Object)的结果是true,如果不定义func的prototype,则func.prototype.isPrototypeOf(Object)返回false,所以我猜想对于Function的定义应该和func.prototype的定义差不多,要不然也不会返回true的。
而当你使用的时候或是进行对象的某些操作的时候,都会继承于prototype
所以说 在进行isprototype的时候
只要是new出了该对象或函数 都为true
function func(){};
func.prototype=Object;
for(p in func){
alert(p);
}alert(func.prototype.isPrototypeOf(Object));for(p in Function.prototype){
alert(p);
}
alert(Function.prototype.isPrototypeOf(Object));可以发现,func.prototype.isPrototypeOf(Object)的结果是true,如果不定义func的prototype,则func.prototype.isPrototypeOf(Object)返回false,所以我猜想对于Function的定义应该和func.prototype的定义差不多,要不然也不会返回true的。
function func(){};
func.prototype=Object;
for(p in func){
alert(p);
}alert(func.prototype.isPrototypeOf(Object)); 结果是false不是true
关于一些方法的继承可以看这里
http://blog.csdn.net/muxrwc/archive/2007/07/30/1716703.aspx