हम initValidation() को कॉल किए बिना फ़ंक्शन को मान्य() को initValidation() के बाहर कॉल करना चाहते हैं।
हमारा समस्या कोड निम्नलिखित है -
function initValidation(){
// irrelevant code here
function validate(_block){
// code here
}
} जावास्क्रिप्ट में, जैसा कि हम जानते हैं कि फ़ंक्शन कुछ और नहीं बल्कि ऑब्जेक्ट हैं, इसलिए इसे प्राप्त करने के लिए हम अपने कोड को इस तरह से कमजोर कर सकते हैं -
function initValidation(){
// irrelevant code here
function validate(_block){
// code here
console.log(_block);
}
this.validate = validate;
} यह ट्वीक क्या करता है कि यह हमारे मूल कार्य को अब एक वर्ग का प्रतिनिधित्व करने के लिए बनाता है, जिसमें से एक संपत्ति है और हम इसे इस तरह एक्सेस कर सकते हैं -
const v = new initValidation();
v.validate('Hello world'); आउटपुट के साथ पूरा कोड निम्नलिखित है -
उदाहरण
function initValidation(){
// irrelevant code here
function validate(_block){
// code here
console.log(_block);
}
this.validate = validate;
}
const v = new initValidation();
v.validate('Hello world'); आउटपुट
कंसोल में आउटपुट होगा -
Hello world