在什么条件下你可以内联Javascript而不是使用$(function(){...})?

时间:2011-04-09 20:47:39

标签: javascript jquery performance javascript-events

我几乎总是在我的页面中使用后者,但是如果您只是访问在脚本上方的页面上呈现的元素,您似乎经常不会这样做。所有浏览器都是如此吗?我希望得到尽可能低的延迟,所以如果它可以在完成DOM ready事件被触发之前开始执行会很好,因为我强制刷新页面,因为它生成并且我的Javascript只引用已创建的元素或用途比如jQuery的live&委派。

1 个答案:

答案 0 :(得分:1)

我最近实现了这段代码,因为我们放弃了IE6支持。

<!--[if IE6]><!-->
    jQuery.noConflict(true);
    $ = new Function;
<!--<[endif]-->

因为我们一直使用$(function() { ... })来运行任何类型的内联javascript,所以我们关闭了所有的javascript代码。

您可能会觉得这很有用。除了能够通过在没有jQuery就绪处理程序的情况下内联代码来节省11个字节之外,我认为没有任何不利之处。

让我们不要忘记您使用$(...)获得免费关闭,它可以让您不会污染全局范围。

使用DOM就绪处理程序是一个很好的代码模式,由于你提到的原因而放弃它们是一种微观优化,需要在被删除之前作为瓶颈来证明。