我有一些需要JavaScript文件引用的JavaScript代码的WordPress页面。对于在这些js文件引用中不调用函数的页面,对于包含这些文件(文件调用除外)的权利应该没有性能影响?如果没有函数被调用,JavaScript会执行吗?
- 编辑回应@cdhowie -
如果只有特定的页面需要这些JavaScript文件,是否可以将它们移出头部,进入页面?我读过这是不好的做法。
但是从理论上讲,这可以防止整个站点对未被利用的文件造成性能影响?
我有一些需要JavaScript文件引用的JavaScript代码的WordPress页面。对于在这些js文件引用中不调用函数的页面,对于包含这些文件(文件调用除外)的权利应该没有性能影响?如果没有函数被调用,JavaScript会执行吗?
- 编辑回应@cdhowie -
如果只有特定的页面需要这些JavaScript文件,是否可以将它们移出头部,进入页面?我读过这是不好的做法。
但是从理论上讲,这可以防止整个站点对未被利用的文件造成性能影响?
只有在您明确调用它们(或隐含在回调函数和whatnot中)时才会执行Javascript函数。然而,代码仍然会被浏览器在每个页面上解释,而不管函数是否被调用。
编辑: 我错了,说性能命中是无关紧要的。这完全取决于你的具体情况(代码来自哪里,代码的多少等),以及你在毫秒级上关心性能的多少。
一个可能的“性能”问题是如果这些额外的.js文件在您的服务器上。如果是这样,并且在不需要时加载它们,则会导致您的服务器出现不必要的流量和带宽。
就这样,我明白,你不同意@ cdhowie的回应? – 4thSpace 2013-04-10 20:24:27
其实我不同意他在说什么。我们的答案指的是两件独立的事情。我只是说,如果您将JavaScript代码包含在文件中,但从未显式调用该代码中包含的任何函数,那么与未包含代码的情况相比,性能可能会变差。但是,我说这种性能下降非常小。另外,我指的是如果您正在加载一个您不需要的文件,则您正在将不需要的负载加载到您的服务器上。 – 2013-04-10 20:29:58
@DevinLynch但我认为包括对外部Javascript文件的引用(甚至不使用它)是可能的最大性能命中...因为它必须创建一个单独的HTTP请求并加载一个(可能)大文件,也必须加以解释,并且无所作为。网络通常是瓶颈,而不是浏览器。如果代码在HTML中内联,那么它不会成为一个很大的负担,因为没有单独的HTTP请求。 – Ian 2013-04-10 20:34:19
引用的JavaScript文件将被下载(或从缓存中提取),然后由浏览器的JavaScript解释器在两种情况下执行。为了创建可能使用的变量和函数,需要执行“JavaScript文件引用”,并且浏览器无法提前知道是否会使用它们。此外,包含的文件实际上可能会操纵文档,并且浏览器在执行它们之前不知道这些。
因此,无论您是否调用函数,都会对性能产生影响。无论它是否足够重要,您都需要确定。 (好像是这个决策之前,一定要了解您的网页的加载时间!)
这将执行,但占用很少的CPU时间
<script type="text/javascript">
// just a comment
</script>
没有的功能,只是一个评论...但它仍然是“代码“,仍然需要解析,仍然需要检查语法错误,等等......
如果一棵树落在森林里,而周围没有人听到它,它会发出声音吗? – Ian 2013-04-10 20:13:59
@Ian在这种情况下,是的。 – cdhowie 2013-04-10 20:15:31
@cdhowie我什么也没听到。 – Ian 2013-04-10 20:16:33