घटना वस्तु और उसके निर्माता $.Event()
मैं देख रहा हूँ के बारे में jQuery प्रलेखन के माध्यम से पढ़ना:वैकल्पिक `new` ऑपरेटर
new
ऑपरेटर वैकल्पिक [जब निर्माता बुला] है।
यह अच्छा है! JQuery लोगों ने इस तरह की चाल कैसे खींची?
घटना वस्तु और उसके निर्माता $.Event()
मैं देख रहा हूँ के बारे में jQuery प्रलेखन के माध्यम से पढ़ना:वैकल्पिक `new` ऑपरेटर
new
ऑपरेटर वैकल्पिक [जब निर्माता बुला] है।
यह अच्छा है! JQuery लोगों ने इस तरह की चाल कैसे खींची?
जॉन Resig बहुत अच्छी तरह से इस बताते हैं: http://ejohn.org/apps/learn/#36 और http://ejohn.org/apps/learn/#38
असल में, Event
एक समारोह और एक वस्तु (कार्यों वस्तुओं रहे हैं) है। इवेंट की पहली पंक्ति जांचती है कि इसे फ़ंक्शन के रूप में या ईवेंट ऑब्जेक्ट (नए ऑपरेटर के साथ) के उदाहरण के रूप में कहा जा रहा है।
आप विशेष रूप से कैसे jQuery यह होता है, jQuery source की लाइन 3134-3138 पर देखने के लिए देख रहे हैं:
jQuery.Event = function(src, props) {
// Allow instantiation without the 'new' keyword
if (!this.preventDefault) {
return new jQuery.Event(src, props);
}
और विवरण इस के लिए the jQuery forms पर है।
असल में, लाइन 3178-31 9 4 पर रोकथाम घटना घटना प्रोटोटाइप में जोड़ा जाता है। यदि घटना new
के साथ तुरंत चालू हो जाती है तो इसे इस रोकथाम विधि को दिया जाएगा। अन्यथा, यह परिभाषित नहीं किया जाएगा।
किसी भी उपयोगकर्ता द्वारा परिभाषित जावास्क्रिप्ट फ़ंक्शन को या तो new
ऑपरेटर के साथ या उसके साथ बुलाया जा सकता है। new
के बिना यह एक सामान्य कार्य के रूप में काम करता है (क्योंकि यह वही है)। new
के साथ, दुभाषिया प्रोटोटाइप सेट के साथ एक ताजा ऑब्जेक्ट बनाता है, और उस ऑब्जेक्ट को कॉल के this
पैरामीटर बनाता है। यह ताजा ऑब्जेक्ट new
ऑपरेटर का परिणाम है - को छोड़कर यदि फ़ंक्शन बॉडी return
एक मान स्पष्ट रूप से है; फिर मूल्य मान वापस कर दिया।
तो अगर आप लिखना
function foo() {
return { bar: 42 };
}
आप इसे या तो बिना या new
साथ कॉल कर सकते हैं - वहाँ कोई अंतर नहीं है क्योंकि शरीर हमेशा स्पष्ट रूप से एक मान देता है, और उसके this
कभी नहीं का उपयोग करता है।
'this.preventDefault' क्या है? – Randomblue
अद्यतन के लिए मेरी पोस्ट जांचें। –