繁体   English   中英

JavaScript依赖注入+ jQuery

[英]JavaScript Dependency Injection + jQuery

我一直在寻求更新我的Backbone技能,因为接下来的工作会使用它(我通常在Angular或后端工作)。 我正在查看todomvc的Backbone示例,并发现了这一点。 我想知道为什么将$传递给闭包/匿名函数。 如果是依赖注入,那么我希望下划线也可以通过。 我注意到$不会在任何其他文件/闭包中传递。 Github源

/*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传递到括号中的目的是为全局变量提供局部范围。 这有助于减少查找$变量的开销,并在某些情况下为压缩器提供更好的压缩/优化。

发送$作为匿名函数的参数使$成为该函数的局部$,如果$函数被调用很多,则对性能的影响很小。 这是因为javascript首先在本地范围内搜索变量,然后一直向下遍历到窗口范围(通常位于$)。

也是为了避免$变量的潜在冲突。 如果其他定义了一个名为$的变量,则您的插件可能使用了错误的定义

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM