अगर हम http://code.jquery.com/jquery-latest.js पर नवीनतम jQuery स्रोत को देखो हम निम्न देखें:jQuery अपने कन्स्ट्रक्टर फ़ंक्शन कार्यान्वयन में ऐसा क्यों करता है?
var jQuery = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
}
जावास्क्रिप्ट में नए कीवर्ड की मेरी समझ अनिवार्य रूप से जावास्क्रिप्ट समारोह एक खाली वस्तु {}
गुजरता है और समारोह के माध्यम से उस पर सामान सेट this.blah
।
मेरी समझ से new
.call
/.apply
आदि से भिन्न है .. इसमें वापसी वस्तु के प्रोटोटाइप को फ़ंक्शन के सेट पर भी सेट किया गया है। तो वापसी मूल्य में प्रोटोटाइप होना चाहिए जो jQuery.prototype.init.prototype
(या jQuery.fn.init.prototype
) जैसा ही होना चाहिए। हालांकि, जो मैं अपने प्रोटोटाइप को देखता हूं उससे jQuery.prototype
पर सेट किया गया है, इस प्रकार सेट पर काम करने के लिए उपलब्ध सभी आदेश।
यह क्यों है? मेरी समझ में मुझे क्या याद आ रही है?