2010-09-26 9 views
88

मुझे लगता है कि विभिन्न प्लगइन और कोड में, लेकिन मुझे समझ में नहीं आता कि यह फ़ंक्शन क्या करता है ... jQuery एपीआई में संदर्भित नहीं है!.apply jQuery फ़ंक्शन क्या है?

+20

यह jQuery संदर्भ में नहीं है, क्योंकि यह एक [** मूल जावास्क्रिप्ट फ़ंक्शन **] है (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply)। –

उत्तर

119

apply तर्कों के एक सेट के साथ एक फ़ंक्शन को कॉल करता है। यह jQuery का हिस्सा नहीं है, यह मूल जावास्क्रिप्ट का हिस्सा है।

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

सिंटेक्स::

somefunction.apply(thisObj, [argsArray]) 

ऊपर, समारोह somefunction कॉल समारोह के दायरे के भीतर thisObj को this की स्थापना, और में गुजर हालांकि, वहाँ jQuery डॉक्स में इसके बारे में उल्लेख है फ़ंक्शन के तर्क के रूप में argsArray से तर्क।

+2

संबंधित [**। कॉल() फ़ंक्शन **] (http://mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/call) है जो 'यह' भी लेता है, लेकिन इसका पालन किया जाता है तर्क युक्त एक सरणी के बजाय अलग-अलग सूचीबद्ध तर्कों की एक श्रृंखला द्वारा। –

+0

से नीचे क्या होगा? $ .when.apply (शून्य, वस्तु) .done (कॉलबैक); – user1531437

+0

@ user1531437 वह '$ .when (ऑब्जेक्ट) .done (कॉलबैक); ', लेकिन फ़ंक्शन' $ .when' में, 'यह' पहले पैरामीटर पर सेट है, यानी' शून्य '। तर्कसंगत रूप से, किसी को '$ .when.call (शून्य, ऑब्जेक्ट) .done (कॉलबैक) का उपयोग करना चाहिए; 'क्योंकि' .apply' का दूसरा पैरामीटर एक सरणी –

5

अनिवार्य रूप से, लागू फ़ंक्शन को उस ऑब्जेक्ट पर सेट किया जा रहा है जिसमें आप उस फ़ंक्शन को लागू करते हैं। इसका मतलब है कि फ़ंक्शन के भीतर, this का संदर्भ उस ऑब्जेक्ट को संदर्भित करेगा।

+0

कर सकता है जो jQuery के साथ काम करने वाले और किसी पर पहुंचने के लिए यह उत्तर, आपको संबंधित jQuery ऑब्जेक्ट प्राप्त करने के लिए '$ (this) 'का उपयोग करना होगा और jQuery विधियों तक पहुंच प्राप्त करनी होगी। –

+0

@ R.Schreurs भी आपको jQuery.fn ऑब्जेक्ट का उपयोग करने की आवश्यकता है जैसा कि यहां देखा गया है: http://stackoverflow.com/a/27374435/674033 – AVProgrammer

संबंधित मुद्दे