为什么MDN表示“ Function.prototype无法修改”?

时间:2019-05-22 11:35:02

标签: javascript

Function.prototype page in MDN中说Function.prototype不能被修改。”但是当我在控制台中尝试以下代码时,证明我可以修改Function.prototype的现有属性,例如以及我们可以为其添加新属性。

Function.prototype.call = function(context) {
  console.log("call() fn has been modified");
};

var f = function() {
  //do something..
};

f.call(this);

,它在控制台中显示以下内容。

call() fn has been modified

如果无法修改Function.prototype,为什么我会看到这种行为?

this问题指的是同一问题。但是这里已经修改了'AclassName.prototype'。不是Function.prototype。

1 个答案:

答案 0 :(得分:4)

Function.prototype不是Function.prototype.call,通常可以执行SomeConstructor.prototype = { ... },但是不能执行Function.prototype = { ... }