如果我自己写的代码在本机方法的抽象层背后,而不是使用该方法(在场景后面会做与我手动编写相同的方法(影响应用程序性能或速度?
(至少(使用内置功能而不是自己实施的三个重要优势:
(1(速度 - 内置函数通常调用浏览器(不在JavaScript(提供的低级代码,并且所述代码通常运行速度通常要比JavaScript中的同一代码要快得多。多填充比本机代码慢。
(2(可读性 - 如果您的代码的另一位读者看到['foo', 'bar'].join(' ')
,则它们会立即知道它的作用以及join
方法的工作原理。另一方面,如果他们看到诸如doJoin(['foo', 'bar'], ' ')
之类的东西,其中doJoin
是您自己的相同方法的实现,则必须查找doJoin
方法以确保那里发生了什么。
(3(准确性 - 如果您在编写实施时犯了一个错误,但是错误并不明显呢?这可能是一个问题。相比之下,内置方法几乎永远不会有错误(并且在发现时,通常被修复了(。
也可能会争辩说,在解决问题上没有意义的花费。
是的,在某些情况下,效率存在差异。fast.js的文档中有一些示例。总而言之,您不必处理规格中规定的所有案例,因此有时您可以更快地执行内置实施的速度。
我不会将其作为许可,以使您的代码更难根据过早优化读取/维护/重复使用,但是,是的,您可以根据用例,根据您的用例,您可以通过自己的实现来获得一定的速度。<<<<<<<<<</p>