gpt4 book ai didi

javascript - 为什么 String 类会从 Function.prototype 扩充?

转载 作者:行者123 更新时间:2023-11-30 06:26:42 26 4
gpt4 key购买 nike

我正在阅读JavaScript the good parts这本书,看到了以下代码:

Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};

String.method('trim', function ( ) {
return this.replace(/^\s+|\s+$/g, '');
});
document.writeln('"' + " neat ".trim( ) + '"');

让我感到困惑的是,在Function.prototype.method 定义中,它只是扩充了Function 类的prototype 属性,而应该与对象.原型(prototype)。那么为什么在那种情况下 String 对象仍然有 method 方法呢?

最佳答案

因为构造函数是函数,所以String 是一个带有原型(prototype) 的函数。 Function.prototype.method 允许您向任何函数的原型(prototype)添加方法,在本例中为 String

关于javascript - 为什么 String 类会从 Function.prototype 扩充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com