JavaScript依赖注入+ jQuery
JavaScript Dependency Injection + jQuery
我一直在寻找更新我的骨干技能,因为即将到来的工作将使用它(我通常在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传递给括号的目的是为全局变量提供局部作用域。这有助于减少查找$变量的开销,并在某些情况下允许对minifier进行更好的压缩/优化。
将$作为参数发送给匿名函数使$成为该函数的局部变量,如果$函数被多次调用,这对性能有一点积极的影响。这是因为javascript首先在局部范围内搜索变量,然后向下遍历到窗口范围($通常所在的地方)。
也是为了避免$变量的潜在冲突。如果其他东西定义了一个名为$的变量,你的插件可能使用了错误的定义
相关文章:
- jQuery将TD注入适当的列(俄罗斯方块风格)
- jQuery模式窗口在内容为“”时不居中;注入“;在飞行中
- 将html注入<李>使用js或jquery
- 注入的元素和jQuery脚本.如何让他们一起工作
- JQuery load() 注入到 DIV 中的 PHP 文件能否找到有关此 DIV 的任何信息
- 使用JQuery将ejs模板注入到html中
- 注入SVG元素并使用jquery访问它
- 避免在javascript中的jquery被注入到某个网页的情况下发生冲突
- 注入jquery会完全改变页面结果——这是一种糟糕的方式
- 重新加载页面以显示注入的 jQuery UI 元素
- 在UIWebView的Objective-c中注入JQuery函数
- jQuery文档是否准备好等待通过Backbone动态注入的html元素
- 使用 Chrome 扩展程序将 jQuery 注入 Google.com
- 如何将jquery注入任何网页
- 计算类的实例——使用Firebug将jQuery注入第三方网站
- 查看jQuery注入代码的HTML
- 使用jquery注入一个带有冒号属性的标签
- 通过DOM和Opera扩展将JQuery注入到实时网页中
- 如何将jQuery注入到Angular 1.5组件中
- 为什么我在 jsonp 请求中看不到 jquery 注入的脚本标签