最新回答 / 精慕门5492129
相同的DOM元素或DOM对象,jquery源码中$().data()代码,有elem = this[ 0 ],elem为DOM元素,两次为相同的对象,uid相同,缓存区相同,因此会被覆盖。而$.data()代码中,elem是jQuery的实例对象,不同的实例对象,分配了不同的缓存区,$.data()不覆盖。
2017-01-16
最新回答 / _莫忘初衷_
已经懂了 是defer.resolve(5)给defer.then里的参数回调运行之后是数字10,然后这个数字10再给defer.then()运行赋值给了filtered,所以filetered才有了done方法
2016-12-13
最赞回答 / 慕粉18144024425
因为ajQuery.fn = ajQuery.prototype = {},这相当于又构造一个新的对象“{}”,因此它本身的constructor指向的是Object,而不是ajQUERY,所以这边需要强制指向
2016-12-13
最新回答 / _莫忘初衷_
http://www.imooc.com/course/programdetail/pid/20 按照这个路径来 看最后两门前 最好去看JavaScript深入浅出这门课也很牛http://www.imooc.com/learn/277值得细看
2016-12-03
最新回答 / 菜狗
那里面的self本身不是window,你调试的时候显示window是因为chrome自己本身把window存在了一个叫self的变量上,原来的里面的self值已经return给外面的cbs了。。。= =不执行示例代码直接打印self也是window
2016-11-17
最赞回答 / 夜晚的一场梦
懂了,汗,自己突然就想通了,原因在于这行代码:<...code...>call里面第二个deferred对象作为参数穿进去了,正好对应<...code...>这个newDefer, 这样就对啦,哈哈
2016-10-12
最赞回答 / 夜晚的一场梦
虽然factory定义的时候没有形参,但是参数依然被传进来,在arguments对象中,举个例子:(function(a,b,c){ c(a,b); }('this','that',function(){ console.lo...
2016-10-09