《jQuery Cookbook中文版》——1.17 在不造成全局冲突的情况下使用$别名

简介: 这样做的另一个好处是包含在匿名的自调用函数中的代码将运行于自己的私有作用域中。可以确信,在该函数中放置的任何内容都决不会和全局作用域中编写的任何其他JavaScript代码发生冲突。同样,为什么要冒编程冲突的风险?你要做的只不过是创建自己的私有作用域。

本节书摘来自异步社区《jQuery Cookbook中文版》一书中的第1章,第1.17节,作者:【美】jQuery社区专家组著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.17 在不造成全局冲突的情况下使用$别名

1.17.1 问题
你希望使用快捷方式$别名代替全局命名空间名称(jQuery)的输入,而又不用担心全局冲突。

1.17.2 解决方案
这里提供的解决方案是创建一个匿名的自调用函数,将jQuery对象传递给这个函数,然后将$字符当作指向jQuery对象的一个参数。

例如,所有jQuery代码可以封装在如下的自调用函数中:

(function($){ //用$参数创建私有作用域的函数
   //私有作用域和$的使用无须担心冲突
})(jQuery); //调用无名函数并将其传递给jQuery对象

1.17.3 讨论
实际上,这里所做的就是将对jQuery的全局引用传递给一个创建私有作用域的函数。如果没有这么做,而是直接在全局作用域中使用简写的$别名,就必须假定包含在HTML文档中的其他脚本(或者未来包含的脚本)都没有使用$字符,这是有一定风险的。当你能够创建自己的私有作用域时,何必去冒险呢?

这样做的另一个好处是包含在匿名的自调用函数中的代码将运行于自己的私有作用域中。可以确信,在该函数中放置的任何内容都决不会和全局作用域中编写的任何其他JavaScript代码发生冲突。同样,为什么要冒编程冲突的风险?你要做的只不过是创建自己的私有作用域。

相关文章
|
JavaScript 前端开发 测试技术
《jQuery Cookbook中文版》——导读
jQuery的入门非常容易,但是和许多用于开发网站的工具一样,完全体会到它的广度和深度需要花费几个月甚至几年的时间。这个程序库充满了你从未想象过的特性。一旦你了解了这些特性,这些特性就能够戏剧性地改变你解决问题的方法。
1538 0
|
JavaScript 前端开发
《jQuery Cookbook中文版》——1.16 获取和设置文本内容
重要的一点是,要记住text()方法与html()方法没有什么不同,唯一的例外是text()方法将对HTML进行转义(将<和>替换为HTML实体)。这意味着,如果在text()方法的字符串参数中放入标记,该方法会将这些标记转换为HTML实体(&lt;和&gt;)。
1013 0
|
JavaScript 前端开发 数据格式
《jQuery Cookbook中文版》——1.15 获取和设置HTML内容
本节书摘来自异步社区《jQuery Cookbook中文版》一书中的第1章,第1.15节,作者:【美】jQuery社区专家组著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1020 0
|
JavaScript 前端开发
《jQuery Cookbook中文版》——1.14 获取、设置和删除DOM元素属性
除了attr()方法之外,jQuery为使用HTML元素class属性提供了一组很特殊的方法。因为class属性可能包含多个值(例如,class="class1 class2 class3"),所以可以使用这些独特的属性方法管理这些类值。
1212 0
|
JavaScript 前端开发
《jQuery Cookbook中文版》——1.13 克隆DOM元素
jQuery提供clone()方法复制DOM元素。它的用法很简单,只要用jQuery函数选择DOM元素,然后在选择的元素集上调用clone()方法就可以了。结果是返回用于链接的DOM结构的一个副本,而不是原来选中的DOM元素。
1160 0
|
JavaScript 前端开发
《jQuery Cookbook中文版》——1.12 替换DOM元素
本节书摘来自异步社区《jQuery Cookbook中文版》一书中的第1章,第1.12节,作者:【美】jQuery社区专家组著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1212 0
|
5月前
|
JavaScript
jQuery图片延迟加载插件jQuery.lazyload
jQuery图片延迟加载插件jQuery.lazyload
|
11天前
|
JavaScript
jQuery 树型菜单插件(Treeview)
jQuery 树型菜单插件(Treeview)
35 2
|
4月前
|
设计模式 JavaScript 前端开发
必知的技术知识:jQuery插件开发精品教程,让你的jQuery提升一个台阶
必知的技术知识:jQuery插件开发精品教程,让你的jQuery提升一个台阶
51 1
|
13天前
|
JavaScript 前端开发
jQuery Growl 插件(消息提醒)
jQuery Growl 插件(消息提醒)
23 4
jQuery Growl 插件(消息提醒)