首页 > 编程开发 > JavaScript    日期:2020-11-18 / 来自互联网 / 浏览

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>

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章