jquery中的apply函數是一個常用的函數,它的作用是將某個函數的this值指定為另一個對象,同時將該函數的參數傳遞給被指定的對象
$.fn.apply = function(func, args, context) { return func.apply(context || this, args); };
上面的代碼是jquery中的apply函數實現,它接受3個參數,分別是待調用的函數func、該函數的參數args和與該函數綁定的上下文對象context。函數內部通過調用apply()方法,將待調用函數func的執行上下文指定為context或者是當前jquery對象本身,以此來實現傳遞參數和指定執行上下文的效果。
舉個例子,假如我們有如下的html代碼:
<div id="myDiv">hello world</div>
我們可以通過apply操作將div的文本內容進行改變,具體代碼如下:
var changeText = function(newText) { this.text(newText); } var myDiv = $('#myDiv'); $.fn.apply(changeText, ['hello jquery'], myDiv);
上面的代碼首先定義了一個名為changeText的函數,接著實現了改變myDiv對象內容的功能。最后使用apply函數指定changeText的執行上下文為myDiv,將參數'hello jquery'一同傳遞給changeText函數執行。這樣,myDiv對象的文本內容就被改變成了'hello jquery'。
可以看出,jquery中的apply函數是一個非常強大實用的函數,它可以方便地改變函數的執行上下文,實現更加靈活的功能。
下一篇圖片翻滾css