In this commit कोई परिवर्तन होता है मैंसमझौता "इस" कीवर्ड
deferred.done.apply(deferred, arguments).fail.apply(deferred, arguments);
व्याख्या नहीं कर सकते
deferred.done(arguments).fail(arguments);
AFAIK हो जाता है, जब आप obj.func()
जैसे कुछ वस्तु के सदस्य के रूप में एक समारोह आह्वान, समारोह के अंदर this
obj
से जुड़ा हुआ है, इसलिए apply()
के माध्यम से this
से obj
पर बाध्य करने के लिए कोई फ़ंक्शन का उपयोग करने का कोई उपयोग नहीं होगा। इसके बजाए, टिप्पणियों के मुताबिक, यह पिछले कुछ $.Callbacks.add
कार्यान्वयन के कारण आवश्यक था।
मेरे संदेह jQuery के बारे में नहीं है, लेकिन जावास्क्रिप्ट भाषा स्वयं के बारे में: जब आप obj.func()
की तरह एक समारोह आह्वान, यह कैसे हो सकता है कि func()
अंदर this
कीवर्ड obj
करने के लिए बाध्य नहीं है?
यह प्रश्न आपके प्रश्न से संबंधित परिवर्तन कैसे बदलता है? '.apply' का उपयोग अन्य कार्यों में तर्कों की संख्या को पास करने के लिए किया गया था, न कि क्षमताओं को मजबूर करने के संदर्भ में। – Esailija
@Esailija, मुझे लगता है कि आपको बिंदु मिल गया है! – Raffaele
@ क्रिस्टोफ मुझे लगता है कि वह बिंदु मिला है। आवेदन() को संदर्भ को मजबूर करने के लिए उपयोग नहीं किया गया था, क्योंकि * यह * पहले से ही * सही ढंग से रखा गया था * (और यह मेरे प्रश्न का उत्तर देता है) – Raffaele