首頁  >  文章  >  web前端  >  jquery怎麼改變this指向

jquery怎麼改變this指向

coldplay.xixi
coldplay.xixi原創
2020-11-18 15:17:453154瀏覽

jquery改變this指向的方法:1、利用賦值【var that=this;】來改變巢狀函數的【this】指向;2、利用es6箭頭函數改變this指向,程式碼為【$( 'div').on('click', function()】。

jquery怎麼改變this指向

#本教學操作環境:windows10系統、jquery2.2.4,本文適用於所有品牌的電腦。

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 )

2. .
proxy( show, document )( c1, c2 )

  //   --> 這就直接呼叫了

    <script>
     // 利用赋值 var that = this; 来改变嵌套函数的&#39;this&#39;指向
       $(&#39;div&#39;).on(&#39;click&#39;, function() {
        var that = this
        setTimeout(function() {
           console.log(that) // -> div
       })
     })
   </script>
    <script>
     // 利用es6 箭头函数 改变 this指向
      $(&#39;div&#39;).on(&#39;click&#39;, function() {
         setTimeout(() => {
         console.log(this) // -> div
        })
     })
    </script>

相關免費學習推薦:
JavaScript###(影片)######

以上是jquery怎麼改變this指向的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn