gpt4 book ai didi

javascript - 在 JavaScript 中制作原型(prototype)时首选哪种方法?

转载 作者:行者123 更新时间:2023-12-01 14:06:26 25 4
gpt4 key购买 nike

这是一个人为的例子:

我想将两个数字相除,我需要为此编写一个方法。我可以这样写:

function divide(dividend,divisor) {
return dividend/divisor;
};

//Assign the result of the divide function to an element on the page.
$(".firstanswer").html(divide(6,2));

我也可以这样写:

Number.prototype.dividedBy = function (divisor)​ {
var dividend = this;
return dividend/divisor;
};

var six = 6;
var two = 2;
$(".secondanswer").html(six.dividedBy(two));

两种方法都会产生相同的答案,所以我想知道的是:
使用这两种方法的优点或缺点是什么。是否存在显着的性能(加载/运行时间)差异?就内存影响而言,一个比另一个更可重用吗?易理解性如何?最终,对于像这样简单的例子,这重要吗?

我也created a Fiddle因为代码更好。

最佳答案

第一种方法没有缺点(除了语法不同)

在第二种方法中,你冒着实现的风险,如果它成为 NumberMath 对象或具有相同函数名称的其他第三方库的一部分怎么办:)

虽然通常是为了避免它,但还是这样做了:

Number.prototype.dividedBy = Number.prototype.dividedBy || function (divisor)​ {
var dividend = this;
return dividend/divisor;
};

这样,你说,如果已经存在该功能,请使用其他创建我自己的功能。


有关更多详细信息,请查看(@Kangax 一如既往的另一篇精彩文章)

关于javascript - 在 JavaScript 中制作原型(prototype)时首选哪种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195731/

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