问答详情
源自:4-3 [JavaScript]属性操作

同样是对象为什么有的prototype有的没有

var f = {x:1} 这里的f是一个对象,为什么f.prototype.y=2 这个会报错; 而function f(){} f.prototype.y=2 这个就不会报错

提问者:枯补丁 2016-04-05 16:30

个回答

  • qq_慕慕947699
    2019-10-22 10:37:57

             ①__proto__和constructor属性是对象所独有的;

            ② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。


  • AsyncNooby
    2016-08-02 17:57:20

    你要明白数据的类型是什么,var f那个是一个对象,第二个是function是个构造函数,prototype是函数拥有的.


  • 黑店老板
    2016-07-10 11:41:46

    函数function才有prototype这个默认属性。对象是没有这个默认属性的。对象有一个隐藏属性为__proto__

  • 清波
    2016-04-05 17:15:38

    f.prototype是undefined