$(this)只用了一次;
this
是原始 DOM
,也就是 document.createElement
创建出来,也是 document.querySelector
获取到的。可以使用比如说 this.src
之类的方法,或者是 this.dataset.src
这些。
$(this)
是 jquery
封装过的 DOM
对象。可以使用 $(this).attr('src')
之类的方法。
使用 function
关键字初始化的函数体内部和外部的 this
所指向的对象不一样,所以函数体内部要操作外部的 this 的时候,通常会在函数体外部初始化一个 _this = this
(也有人喜欢用 that
),这是 _this
的由来。
事实上这里的 $this
等价于 $(_this)
,但由于是在 .each
的回调函数体内,意味着$(_this)
会被多次引用,如果每次引用都靠 $(_this)
来生成的话,会造成额外的时间开销,所以在函数体外用 $this
把$(this)
缓存起来。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
里面的this和外面的this不一样,需要先在外面保存外面的this