淡淡簡單描述javascript中方法apply和call

來源:互聯網
上載者:User

jquery部落格最近在看原生javascript,是那本犀牛書,厚厚一本。
慢慢有條不絮的進行的學習。
看到apply()和call()不得不停留下來,仔細琢磨琢磨。
留點字跡,方便以後溫習。
ECMAScript規範給所有函數定義了兩個方法call()和apply()。使用這兩個方法可以像調用其他對象的方法一樣調用函數。call()和apply()的第一個參數都是要調用的函數的對象。在函數體內這一參數是關鍵字this的值。call()的剩餘參數是傳遞給要調用的函數值。例如,要把兩個數字傳遞給函數f(),並將它作為對象o的方法調用,試下下面的代碼:
f.call(o,1,2);
這個與下面的代碼相似的哦
o.m=f;
o.m(1,2);
delete o.m;
apply()方法和call()方法相似,只不過要傳遞給函數的參數是由數組指定的;
f.apply(0,[1,2]);
比如要找到一個數字數組中最大的數字,我們可以使用apply()方法把數組元素傳遞給Math.max()函數:
var bjggest=Math.max.apply(null,array_of_numbers);

轉自 jquery http://www.jqueryba.com/302.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.