jquery改变this指向的方法:
利用赋值var that=this; 来改变嵌套函数的 'this' 指向
利用es6箭头函数 改变this指向
<script>
function show() {
alert(this)
}
// show() //-> window
// show.call(document) // ->document | 原生的方法
$.proxy(show, document)() // ->document | jQuery方法
</script>
tips: 对于一个传参的函数如上例中的 show(c1,c2),使用.proxy()也有几个场景,按需求进行传参,如:
1. .proxy( show, document, c1, c2 ) // --> 加()后,才进行调用
2. .proxy( show, document )( c1, c2 ) // --> 这就直接调用了
<script>
// 利用赋值 var that = this; 来改变嵌套函数的'this'指向
$('div').on('click', function() {
var that = this
setTimeout(function() {
console.log(that) // -> div
})
})
</script>
<script>
// 利用es6 箭头函数 改变 this指向
$('div').on('click', function() {
setTimeout(() => {
console.log(this) // -> div
})
})
</script>

