यह सिर्फ एक उच्च स्तरीय फ़ंक्शन है, जो इस मामले में वास्तव में आवश्यक नहीं है।
f
एक समारोह है कि एक और समारोह (a
कहा जाता है), और रिटर्न एक नव उत्पन्न समारोह है कि a
का मूल्यांकन करें और परिणाम दिखा अलर्ट बॉक्स पॉप अप होगा लेता है।
तो नीचे की रेखा एफ को कॉल करती है (एक अज्ञात फ़ंक्शन में गुजरती है जो "हैलो वर्ल्ड" प्रिंट करती है), फिर f
द्वारा लौटाए गए अज्ञात फ़ंक्शन को तुरंत प्रकाशित करती है - जिसमें पारित तर्क का मूल्यांकन किया जाएगा (जिसे आप रिटर्न देख सकते हैं "हैलो वर्ल्ड ") और उसके बाद एक अलर्ट बॉक्स पॉप अप करता है।
कोड तैनात कार्यात्मक बराबर करने के लिए
alert("Hello World");
है, लेकिन है कि यह अधिक जटिल बना दो अतिरिक्त तत्वों है:
- आपको स्ट्रिंग उत्पन्न करने के लिए एक मनमाना समारोह में पारित कर सकते हैं जो अलर्ट बॉक्स में दिखाई देता है (और यह आलसी मूल्यांकन किया जाएगा, जो महत्वपूर्ण हो सकता है - उदाहरण के लिए वर्तमान समय/ऐप स्थिति/मेमोरी उपयोग मुद्रित करने के लिए एक फ़ंक्शन को अलर्ट दिखाया गया है जब विधि बनाई गई थी तब से एथर)।
- आप एक बंदरगाह उत्पन्न कर सकते हैं जो इस चेतावनी को दिखाएगा और उसके बाद तुरंत चेतावनी निष्पादित करने के बजाए इसे पास कर देगा।
लेकिन चूंकि इनमें से कोई भी लाभ वास्तव में कोड स्निपेट में उपयोग नहीं किया जाता है, इसलिए मैं देख सकता हूं कि आप उलझन में क्यों होंगे।
स्रोत
2009-10-19 14:19:22
** डाउनवोट **: डी क्योंकि यह इतना मुश्किल नहीं था जितना मैं सोच रहा था? –
** upvote ** - क्योंकि प्रथम क्रम कार्य, और विशेष रूप से फ़ंक्शन कॉल से लौटाए गए फ़ंक्शन का आविष्कार (उदा। 'F()() ') * * वास्तव में भ्रमित दिखता है जब तक आप इसे" प्राप्त नहीं करते "। –
बधाई, राकेश जुयाल! आप अभी _functional प्रोग्रामिंग_ पर ठोकर खाई है! मैं आपके लिए बहुत खुश हूं * सोब * –