Tôi thấy rằng trong các plugin và mã khác nhau, nhưng tôi không hiểu chức năng đó ... Trong api jQuery không được tham chiếu!Chức năng jQuery .apply là gì?
Trả lời
apply
gọi hàm bằng một bộ đối số. Nó không phải là một phần của jQuery, nó là một phần của Javascript cốt lõi. Tuy nhiên, có đề cập đến nó trong các tài liệu jQuery:
http://docs.jquery.com/Types#Context.2C_Call_and_Apply
Cú pháp:
somefunction.apply(thisObj, [argsArray])
Trên đây gọi hàm somefunction
, thiết this
để thisObj
trong phạm vi của chức năng, và đi qua trong đối số từ argsArray
làm đối số cho hàm.
Có liên quan là hàm [**. Call() **] (http://mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/call) cũng có một 'this', nhưng nó được theo sau bởi một loạt các đối số được liệt kê riêng lẻ thay vì một mảng chứa các đối số. –
điều gì sẽ làm dưới đây? $ .when.apply (null, đối tượng) .done (gọi lại); – user1531437
@ user1531437 Gọi đó là '$ .when (object) .done (gọi lại);', nhưng trong hàm '$ .when',' this' được đặt thành tham số đầu tiên, tức là 'null'. Có thể cho rằng, người ta nên sử dụng '$ .when.call (null, object) .done (gọi lại);' vì tham số thứ hai của '.apply' được cho là một mảng –
Về cơ bản, áp dụng sẽ gọi hàm có ngữ cảnh được đặt thành đối tượng bạn áp dụng hàm. Điều này có nghĩa là trong hàm, tham chiếu this
sẽ tham chiếu đến đối tượng đó.
Đối với bất kỳ ai làm việc với jQuery và đến câu trả lời này, bạn sẽ cần sử dụng '$ (this)' để lấy đối tượng jQuery được liên kết và có quyền truy cập vào các phương thức jQuery. –
@ R.Schreurs cũng bạn cần sử dụng đối tượng jQuery.fn như được thấy ở đây: http://stackoverflow.com/a/27374435/674033 – AVProgrammer
Nó không có trong tài liệu tham khảo jQuery, vì nó là [** hàm Javascript gốc **] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply). –