में हो सकता है मैं निम्नलिखित की तर्ज पर एक समारोह है:'इस' कभी अशक्त जावास्क्रिप्ट
doSomething: function() {
var parent = null;
if (this === null) {
parent = 'some default value';
} else {
parent = this.SomeValue();
}
}
माता पिता कभी 'कुछ डिफ़ॉल्ट मान' लिए सेट किया जा सकता है या नल ज़रूरत से ज़्यादा के लिए चेक है ?
वैकल्पिक रूप से, क्या हुआ अगर मैं कम प्रतिबंधक प्रयोग किया है:
doSomething: function() {
var parent = this ? this.SomeValue() : 'some default value';
}
माता पिता कभी इस मामले में 'कुछ डिफ़ॉल्ट मान' पर सेट हो सकता है?
ऐसा लगता है कि इस तरह की संपत्ति के बिना "SomeValue()" एक वस्तु पर फ़ंक्शन को कॉल करने का प्रयास एक * थोड़ा * चिंता का कारण हो सकता है। – Pointy
खैर, तकनीकी रूप से यह हमेशा ऑब्जेक्ट (यह) 'नहीं आया है, क्योंकि यदि यह एक वस्तु है, तो यह और अधिक महत्वपूर्ण बात नहीं है, अगर यह प्रारंभ में 'शून्य' या 'अपरिभाषित' था तो यह या तो नहीं है , यह सीधे वैश्विक वस्तु पर सेट है। – davin
@ डेविन: वास्तव में किसी ऑब्जेक्ट के लिए इससे कोई फर्क नहीं पड़ता कि यह करता है ('ऑब्जेक्ट (obj) === obj'), लेकिन आपके दूसरे बिंदु के लिए, आप पूरी तरह से सही हैं। – pimvdb