function Foo() {};
Function.prototype.label = '123';
var foo = new Foo();
alert(Object.label); 
alert(Foo.label);
alert(foo.label);//why output:undefined?
function Foo() {};
Object.prototype.label = '123';
var foo = new Foo();
alert(Object.label); 
alert(Foo.label);
alert(foo.label); //output:123很疑惑为什么两次结果是不一样的,Function.prototype与Object.prototype的区别究竟是什么?

解决方案 »

  1.   

    Function是函数
    Object是对象Foo本身是函数对不对
    new Foo()出来就是对象了
      

  2.   

    alert(typeof foo);
    alert(typeof Foo);
      

  3.   

    function  ===>Function
    new function==>object~~~~~~
    function b(){
    }
    Function.prototype.label='123';
    b.label
      

  4.   

    函数也是对象,, 所以才有 prototype属性  对象原型
      

  5.   

    感谢楼上的回复,可能我表述的不太清楚。
    注意看代码
    我关心的是第三个alert为什么输出的不一样。
    谢谢
      

  6.   

    我自己搞明白了。
    foo.label->foo.__proto__->Foo.prototype->Foo.prototype.__proto__->Object.prototype
    谢谢各位!