JQuery/Underscore等javascript框架中noConflict()的使用和实现原理
来源:互联网 发布:我是一名网络喷子 编辑:程序博客网 时间:2024/04/29 23:29
一般的javascript框架,都是通过向全局对象window中注入自己的属性实现的。比如JQuery向window中添加"$"对象,Underscore向window对象中添加"_"对象。如果在框架加载之前,已经存在这些全局变量呢,会怎么样呢?
<script>var $ = "$";</script><script src="jquery-1.10.2.js"></script><script>alert($ === "$");//falsealert($().jquery);//1.10.2</script>
很显然$被jquery框架占用了,我们之前定义的$变量值被覆盖。如果既想使用JQuery框架,又想使用之前定义的$变量。那么noConflict()函数就派上用场了。
<script>var $ = "$";</script><script src="jquery-1.10.2.js"></script><script>var stillJQuery = $.noConflict();alert(stillJQuery().jquery);//1.10.2alert($ === "$");//true</script>
一般的javascript框架都是如下结构,实现原理如下:
(function(window) {// 保存之前数据var _$E = window.$E;var myplugin = {"name":"aty"};myplugin.noConflict = function(){window.$E = _$E;return myplugin;};// 向全局对象注册$Ewindow.$E = myplugin;})(window);
0 0
- JQuery/Underscore等javascript框架中noConflict()的使用和实现原理
- jQuery的noConflict
- JavaScript中documentElement和body的区别及jQuery中实现兼容的原理
- 分享一个基于jQuery,backbone.js和underscore.js的消息提示框架 - Backbone.Notifier
- 使用 noConflict() 方法为 jQuery 变量规定新的名称:
- jQuery中$.proxy()的原理和使用
- jQuery中$.proxy()的原理和使用
- jQuery的noConflict()的作用
- JQuery的扩展与noConflict
- jQuery的命名冲突noConflict()
- jQuery.noConflict() 解决冲突 原理深入
- 一个必用的javascript框架:underscore.js
- 一个必用的javascript框架:underscore.js
- 一个必用的javascript框架:underscore.js
- jQuery.noConflict()
- jquery.noConflict()
- jQuery.noConflict();
- jquery noConflict()
- GitHub 优秀的 Android 开源项目
- mstar gdb调试
- ubuntu下搭建erlang编程环境
- C++静态库与动态库
- C++中浮点数在内存中的表示
- JQuery/Underscore等javascript框架中noConflict()的使用和实现原理
- 两链表数字相加成一个新链表(算法)
- 如何解放findViewById
- AlertDialog
- Oracle数据库设计中的25条基本功
- Gamification MOOC 学习笔记8——企业游戏化
- vs2010断点调试技巧分享
- 兼容性处理、布局错误解决方法总结
- 在可进入uboot控制下的命令