我正在看ribs.js截屏视频中出色的peepcode演示代码。在其中,主干代码全部封装在传递给jQuery对象的匿名函数中:(function($) { // Backbone code in here})(jQuery);在我自己的主干代码中,我将所有代码包装在jQuery DOM'ready'事件中:$(function(){ // Backbone code in here});第一种方法的目的/优势是什么?这样做会创建一个匿名函数,然后立即将jQuery对象作为函数参数传递来执行该匿名函数,从而有效地确保$是jQuery对象。这是唯一的观点-保证jQuery绑定到“ $”还是有其他原因呢?
3 回答
MYYA
TA贡献1868条经验 获得超4个赞
作为次要说明,将$作为参数传递给匿名函数会使$在该函数中成为本地函数,如果$函数被调用很多,则对性能的影响很小。这是因为javascript首先在本地范围内搜索变量,然后一直向下遍历到窗口范围(通常位于$)。
慕的地8271018
TA贡献1796条经验 获得超4个赞
同时使用。
自我传递函数,您可以在其中传递jQuery来防止库冲突,并确保jQuery与$一样可用。
和.ready()快捷方式方法是仅在DOM已加载后才需要运行JavaScript的方法:
(function($) {
$(function(){
//add code here that needs to wait for page to be loaded
});
//and rest of code here
})(jQuery);
添加回答
举报
0/150
提交
取消