感觉这里面Var _jQuery = window.jQuery,
_$ = window.$;
//这部分少了Jquery构造完成将&,jquery绑定在window全局的代码,让我看了好半天
window.$=window.jQuery=jQuery;
//这样就能理解上面做的备份其实是备份其他框架的&的引用,在加载构造jQuery完成后无条件得使用上面框架的$引用,做到不覆盖
jQuery.noConflict = function( deep ) {
_$ = window.$;
//这部分少了Jquery构造完成将&,jquery绑定在window全局的代码,让我看了好半天
window.$=window.jQuery=jQuery;
//这样就能理解上面做的备份其实是备份其他框架的&的引用,在加载构造jQuery完成后无条件得使用上面框架的$引用,做到不覆盖
jQuery.noConflict = function( deep ) {
2016-01-26
你们简直有点搞笑。memory = options.memory && data; 那是前几节当中的缓存参数,那是有optionCache的,这里只是把memory单独拿出来讲解,如果合并在一起就是option.memory。你们不要学糊涂了。
2016-01-23
我觉得在fire函数内部可以对args进行判断,如果没有传参数,那么应该不显示undefined。
list.forEach(function(fn){
fn(args == void 0?" ":args);
});
list.forEach(function(fn){
fn(args == void 0?" ":args);
});
2016-01-23
最新回答 / 毛桃_我叫MT
没必要吧,如果说接口设计本身就有问题,比如说你的订阅者强制需求两个参数,但是发布只有一个参数,出错也是难免的。 所以这里的订阅者对象一定是实现了相同接口的。
2016-01-23
最新回答 / weixin_慕粉8264621
$.data()方式绑定到js对象上(a,b)。而 var a = $("#div") , b = $("#div")中a与b是不同的。所以即使同一dom对象的不同js对象添加相同属性当然也是不同的
2016-01-21