javascript - 为什么我们要本地化全局图书馆/引用资料?

标签 javascript design-patterns

<分区>

Furthermore, variables can be passed into the anonymous wrapper to localize commonly accessed global variables, such as window, document, and jQuery...

var module = (function (window, document, $) {
    // module stuff
})(window, document, jQuery);

如果这些内容无论如何都可以在全局范围内访问,那么这种本地化有什么意义呢?

最佳答案

我会说它确保稍微更快的查找,因为它在本地范围内,但在缩小时文件大小也更小。参数“window”和“document”可以缩小,但不能缩小全局变量。

$ 经常被其他库(原型(prototype))覆盖,所以这样可以确保 $ 指向真正的 jQuery 传入参数。

请注意,有些还添加了 'undefined' 参数,因为它在 ECMAScript 3 中是可变的(不再在 ES5 中)。

请参阅 jQuery 样板的评论:https://github.com/jquery-boilerplate/jquery-boilerplate/blob/master/dist/jquery.boilerplate.js

关于javascript - 为什么我们要本地化全局图书馆/引用资料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497530/

相关文章:

javascript - 如何使 php 操作保留在此页面上,直到我使用 JQuery 退出?

javascript - 我们可以使用本地主机的 kml 文件吗?

javascript - 拼接 forEach 循环无法正常工作

c# - SOLID 原则真的很扎实吗?

design-patterns - 观察者模式设计和 RXJS 库

java - 在面向对象的 Java 中使用反模式

javascript - Cordova 将端口添加到 cordova run 浏览器上的外部链接

javascript - Node.js 中的 Webscraper 返回带有 async 和 Promise 的空数组

c# - 如何 "store"类型(不是 `Type` 对象)以供将来使用?

database - 是否有用于审计持久化对象的数据库设计模式?