当使用像.join()这样的本机方法而不是写逻辑诱惑时,效率是否有任何差异



如果我自己写的代码在本机方法的抽象层背后,而不是使用该方法(在场景后面会做与我手动编写相同的方法(影响应用程序性能或速度?

(至少(使用内置功能而不是自己实施的三个重要优势:

(1(速度 - 内置函数通常调用浏览器(不在JavaScript(提供的低级代码,并且所述代码通常运行速度通常要比JavaScript中的同一代码要快得多。多填充比本机代码慢。

(2(可读性 - 如果您的代码的另一位读者看到['foo', 'bar'].join(' '),则它们会立即知道它的作用以及join方法的工作原理。另一方面,如果他们看到诸如doJoin(['foo', 'bar'], ' ')之类的东西,其中doJoin是您自己的相同方法的实现,则必须查找doJoin方法以确保那里发生了什么。

(3(准确性 - 如果您在编写实施时犯了一个错误,但是错误并不明显呢?这可能是一个问题。相比之下,内置方法几乎永远不会有错误(并且在发现时,通常被修复了(。

也可能会争辩说,在解决问题上没有意义的花费。

是的,在某些情况下,效率存在差异。fast.js的文档中有一些示例。总而言之,您不必处理规格中规定的所有案例,因此有时您可以更快地执行内置实施的速度。

我不会将其作为许可,以使您的代码更难根据过早优化读取/维护/重复使用,但是,是的,您可以根据用例,根据您的用例,您可以通过自己的实现来获得一定的速度。<<<<<<<<<</p>

相关内容

最新更新