【发布时间】:2014-03-26 08:53:45
【问题描述】:
我一直在寻求更新我的 Backbone 技能,因为即将到来的工作将使用它(我通常在 Angular 或后端工作)。我正在查看 todomvc 的 Backbone 示例并遇到了这个。我想知道为什么将 $ 传递给闭包/匿名函数。如果是依赖注入,我希望下划线也会被传入。我注意到 $ 没有在任何其他文件/闭包中传递。 Github source
/*global Backbone, jQuery, _, ENTER_KEY */
var app = app || {};
(function ($) {
'use strict';
// The Application
// ---------------
// Our overall **AppView** is the top-level piece of UI.
app.AppView = Backbone.View.extend({
【问题讨论】:
-
你能粘贴整个函数吗?我想,在函数的最后你会得到类似 })(jQuery) 的东西。如果是这样,您将使用变量 $ 将 jQuery 对象传递到自执行函数中以在本地进行作用域。
-
@Jebin 没错,但是当 jQuery 已经在全局范围内可用时,我看不到在本地范围内限定 jQuery 的好处。另一件事是,为什么只是 jQuery。他们也在这里使用下划线,为什么不在本地范围内
_呢?此外,整个文件可在我的帖子中的 Github 源链接中找到。编辑:在这里找到第二个问题的答案:gregfranko.com/blog/i-love-my-iife 感谢您提供的信息,如果您将其作为答案提交,我会选择它。
标签: javascript jquery backbone.js scope