Javascript 庞大功能的管理费用是多少?

Javascript 庞大功能的管理费用是多少?,javascript,performance,function,Javascript,Performance,Function,当使用具有巨大主体的函数时,会有多少开销 例如,考虑这段代码: (function() { // 25k lines })(); 它会如何影响加载速度/内存消耗?这几乎是不可能回答的。 如果您真的想了解内存使用、自动垃圾收集和其他闭包的本质,请从这里开始:老实说,我不确定,帮助您回答问题的好方法是测量 您可以使用javascript探查器,例如内置在Google Chrome中的探查器,这里是一个您还可以使用Firebug探查器()和时间():首先,像JQuery这样的产品是在大量使用

当使用具有巨大主体的函数时,会有多少开销

例如,考虑这段代码:

(function() {
    // 25k lines
})();

它会如何影响加载速度/内存消耗?

这几乎是不可能回答的。
如果您真的想了解内存使用、自动垃圾收集和其他闭包的本质,请从这里开始:

老实说,我不确定,帮助您回答问题的好方法是测量


您可以使用javascript探查器,例如内置在Google Chrome中的探查器,这里是一个

您还可以使用Firebug
探查器()
时间()

首先,像JQuery这样的产品是在大量使用闭包的基础上构建的。JQuery被认为是一段非常高性能的Javascript代码。这应该告诉你很多关于它使用的编码技术

任何给定功能的确切性能在不同的浏览器之间都会有所不同,因为它们都有自己的脚本引擎,这些脚本引擎都是独立编写的,并且具有不同的优化。但他们都会做的一件事是尝试对最常用的Javascript特性进行最佳优化。考虑到JQuery及其类似工具的普遍性,您可以打赌闭包得到了极大的优化


在任何情况下,随着最新一轮的浏览器发布,他们的脚本引擎现在都具有足够高的性能,因此您很难在基本语言结构中找到构成重大性能问题的任何内容。

对于静态函数声明,无论大小,开销都可以忽略不计。唯一的性能损失来自函数内部的定义

是的,您将拥有包含许多变量的大型闭包,但是除非您在函数中声明了数万个私有变量,或者执行了数万次该函数,否则您不会注意到差异

这里真正的问题是,如果您将该函数拆分为多个较小的函数,您会注意到性能的提高吗?答案是否定的,虽然内存分配至少应该能够收集一些未使用的变量,但实际上您应该会看到性能略有下降,开销也会增加


无论哪种方式,javascript通常只会被明显昂贵的任务所困扰,因此在您发现问题之前,我不会费心进行优化。

您的意思是内存或时间方面的开销吗?我倾向于说可以忽略不计,特别是如果我们谈论一个您可能应该创建自己的测试并查看的函数。你可以试试:@pacerier实际的ef是什么?@quamrana,当然是关于两者。