无法覆盖firefox上的Function.prototype?

时间:2013-09-23 05:55:57

标签: javascript oop firefox

以下Javascript代码没有预期效果:

Function.prototype = {test:“foo”}

Function.prototype显然没有被赋值改变(至少在firefox上)。为什么是这样?有没有办法覆盖它?

1 个答案:

答案 0 :(得分:6)

来自the spec

  

15.3.3.1 Function.prototype

     

Function.prototype的初始值是标准的内置函数原型对象(15.3.4)。

     

此属性具有{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false}。

关于[[Writable]]的部分:

  

如果false,ECMAScript代码尝试使用[[Put]]更改属性的[[Value]]属性将不会成功。