(फ़ंक्शन (वैश्विक, $ डेटा, अपरिभाषित) {$ data.Entity.extend ('TodoDBModel.TodoItem' , {'आईडी': {कुंजी: सच, प्रकार: 'एडम। गुड', नल योग्य: गलत, आवश्यक: सत्य}, 'इनसैंक': {प्रकार: 'एडम बोलियन', नल योग्य: गलत, आवश्यक: सत्य}} );}) (विंडो, $ डेटा); क्या यह सरल कार्य या किसी प्रकार का वर्ग है?
हम कैसे इन मानकों को परिभाषित करते हैं वैश्विक, $ डेटा, अपरिभाषित और अंतिम पंक्ति कोड जो फ़ंक्शन बंद कोष्ठक और (विंडो, $ डेटा) पैरामीटर के साथ समाप्त होता है?
< P> इसे तुरंत बुलाया गया है - एक त्वरित रूप से कार्यान्वित समारोह की अभिव्यक्ति। विकिपीडिया का उद्धरण:
एक त्वरित-आयुक्त समारोह अभिव्यक्ति (या आईआईएफई, जिसका उच्चारण "iffy") एक जावास्क्रिप्ट डिजाइन है पैटर्न जो जावास्क्रिप्ट फ़ंक्शन स्कॉपिंग का उपयोग करते हुए एक लेक्सिकल गुंजाइश पैदा करता है। तत्काल उपयोग किए जाने वाले समारोह अभिव्यक्तियों को ब्लॉकों के भीतर से चलने से बचने के लिए इस्तेमाल किया जा सकता है, वैश्विक वातावरण को प्रदूषित करने से बचाता है और फ़ंक्शन के भीतर निर्धारित चर के लिए गोपनीयता बनाए रखने के साथ ही साथ तरीकों तक सार्वजनिक पहुंच की अनुमति देता है। इस पद्धति को आत्म-निष्पादन गुमनाम समारोह के रूप में संदर्भित किया गया है, लेकिन बेन अल्मन ने आईआईएफई शब्द को पैटर्न के लिए एक अधिक शब्दार्थिक सटीक शब्द के रूप में पेश किया।
यहाँ क्या हो रहा है आप परिभाषित कर रहे हैं एक समारोह (एक समारोह अभिव्यक्ति के माध्यम से) और तुरंत इसे लागू। यह इनकैप्सुलेशन प्रदान करता है।
उदाहरण के लिए अगर कोई भाषा आदिम मूल्य प्रकार अपरिभाषित * के मान को ओवरराइड करना था तो उसे तीसरा पैरामीटर के रूप में मिलेगा यह दो मापदंडों (डेटा, जो कि कोड में एक वैरिएबल और विंडो (ब्राउज़र में वैश्विक ऑब्जेक्ट) के रूप में उपलब्ध कराता है, जैसे global । * गंभीरता से, क्या कोई भी वास्तव में ओवरराइट अपरिभाषित है? इसके अलावा, आधुनिक ब्राउज़रों में यह असंभव है यहां एक और अधिक बुनियादी उदाहरण है:
( फ़ंक्शन (i) {// एक फ़ंक्शन को घोषित करता है जो एक पैरामीटर स्वीकार करता है - i सतर्क (i); // I / अगले के मूल्य को सचेत करता है, हम उस फ़ंक्शन का आह्वान करेंगे जिसे हमने सिर्फ 5 मान के साथ घोषित किया है, जो कि का अर्थ है कि मैं फ़ंक्शन में 5 होगा)} (5);
No comments:
Post a Comment