gpt4 book ai didi

javascript - 在将函数定义为 Object.prototype 扩展或只是函数之前要考虑什么?

转载 作者:行者123 更新时间:2023-12-02 13:54:43 25 4
gpt4 key购买 nike

例如,我必须将“foo”添加到字符串中。

所以我至少有两条路要走。

首先,我可以实现 String.prototype.foo:

String.prototype.foo = function() {
return this + 'foo';
};

var s = 'str';
var data = s.foo(); // "strfoo"

另一种方式:

function foo(str) {
return str + 'foo';
}

var s = 'str';
var data = foo(s); // "strfoo"

两个看起来都很漂亮。但是在选择第一个或第二个实现之前我是否应该考虑任何“水下岩石”?是否有任何重要原因,例如效率和性能?

最佳答案

第一个扩展了 String 的功能。如果您有一类对象并且想要向其中添加新行为,请使用此解决方案。

第二个更多的是效用函数。另请注意,您还可以将第二个 foo 应用于不是字符串的变量,因此如果您想将使用限制为字符串参数,还应该测试参数的类型。

关于javascript - 在将函数定义为 Object.prototype 扩展或只是函数之前要考虑什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40782752/

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