apply的“非改變this“的用法

來源:互聯網
上載者:User

標籤:null   思維   一起   思考   this   color   調用   blog   com   

說到apply,大家都是知道是改變this指向的,也都會立馬和call聯絡在一起,MDN官網上也是如是說:

其實我們在平常使用call和apply的時候,都是想到他們的改變函數的this的功能,

正如MDN上面說的apply和call只有唯一一點區別,就是:apply方法的二個參數接受的是“參數數組”!

也就是說:apply的第二個“參數數組”最終會打散被調用apply的函數所調用;

因此我們也可以利用這一特性,進行數組的打散的操作,如MDN中所述:

當然我們這裡也可以使用ES6的擴張語句,如下:

之所以要寫這篇文章就是告誡自己:思維不要太局限,就像覺得apply就只能用於改變this的指向的功能。當我們咋一看Math.max.apply(null, arr)這種會蒙圈,其實這裡就是省去了自己展開了數組的操作。

在發現疑惑的時候,可以放空自己的過去的知識,重新閱讀API。重新去思考這個問題。

就像自己以前做物理題目,腦子裡永遠別記憶題型,腦子裡只需要記住公式和原理,所有的題目都是去思考分析再解答,以不變應萬變!!而不是把題目歸類,再回憶改類題型的解題方法。

apply的“非改變this“的用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.