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>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)