JQuery/Underscore等javascript框架中noConflict()的使用和实现原理
2015-03-11 17:30
603 查看
一般的javascript框架,都是通过向全局对象window中注入自己的属性实现的。比如JQuery向window中添加"$"对象,Underscore向window对象中添加"_"对象。如果在框架加载之前,已经存在这些全局变量呢,会怎么样呢?
很显然$被jquery框架占用了,我们之前定义的$变量值被覆盖。如果既想使用JQuery框架,又想使用之前定义的$变量。那么noConflict()函数就派上用场了。
一般的javascript框架都是如下结构,实现原理如下:
<script> var $ = "$"; </script> <script src="jquery-1.10.2.js"></script> <script> alert($ === "$");//false alert($().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.2 alert($ === "$");//true </script>
一般的javascript框架都是如下结构,实现原理如下:
(function(window) { // 保存之前数据 var _$E = window.$E; var myplugin = {"name":"aty"}; myplugin.noConflict = function(){ window.$E = _$E; return myplugin; }; // 向全局对象注册$E window.$E = myplugin; })(window);
相关文章推荐
- JQuery/Underscore等javascript框架中noConflict()的使用和实现原理
- JQuery:通过noConflict()方法同时使用jQuery 和其他框架
- jQuery中noconflict函数的实现原理分解
- Jquery使用noConflict 实现多类防冲突的机制
- 一个必用的javascript框架:underscore.js - wine的思考 - ITeye技术网站
- ASP.NET MVC框架下使用MVVM模式 knockoutjs的实现原理
- Blend Behavior的 使用简介 实现原理以及在MVVM框架的妙用
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- jQuery 的noConflict()的使用.
- 通过javascript 框架 Jquery 实现跨浏览器 画直线 斜线等线段
- jQuery中 noConflict() 方法使用
- java 集合框架中间迭代器的使用和实现原理
- 一个必用的javascript框架:underscore.js - wine的思考 - ITeye技术网站
- 使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
- 分享一个基于jQuery,backbone.js和underscore.js的消息提示框架 - Backbone.Notifier
- jquery noconflict()方法使用方法详细介绍
- 在ASP.NET使用JavaScript显示信息提示窗口实现原理及代码
- ThreadLocal的实现原理,及使用实例,解决spring,hibernate非web项目下的懒加载 no session or session was closed(1)!
- 使用JavaScript和jQuery实现隔行变色 .