, उदाहरण के लिए jQuery ढांचे ले रहा है, तो आप इस तरह कोड चलाएँ:जावास्क्रिप्ट में अंतर्निहित कार्यों का नाम दिया गया है?
$(document).ready(function init() { foo.bar(); });
स्टैक ट्रेस आप Firebug में मिलता है इस तरह दिखेगा:
init()
anonymous()
anonymous([function(), init(), function(), 4 more...], function(), Object name=args)
anonymous()
anonymous()
आप देख सकते हैं, यह बहुत नहीं है पठनीय, क्योंकि यह जानने के लिए कि आपको यह पता लगाने के लिए प्रत्येक फ़ंक्शन पर क्लिक करना होगा। गुमनाम कार्य प्रोफाइलर में (?)()
के रूप में भी दिखाई देंगे, और वे "cannot access optimized closure" बग का कारण बन सकते हैं। ऐसा लगता है कि इनसे बचने के लिए ये अच्छे कारण हैं। फिर यह तथ्य है कि ECMAScript 5 arguments.callee
को अपने सख्त मोड में बहिष्कृत कर देगा, जिसका अर्थ है कि इसके साथ अज्ञात कार्यों को संदर्भित करना संभव नहीं होगा, जिससे उन्हें भविष्य में थोड़ा सा सबूत मिल सके।
दूसरी ओर, नामित कार्यों का उपयोग कर पुनरावृत्ति हो सकती है, जैसे:
var Foo = {
bar: function bar() {}
}
function Foo() {}
Foo.prototype.bar = function bar() {}
हूँ मैं यह सोच कर कि इस पुनरावृत्ति डिबगिंग सुविधा नामित कार्यों प्रदान की रोशनी में उचित है, में सही करें और कि प्रसार jQuery जैसे अच्छे ढांचे में गुमनाम कार्यों का एक निरीक्षण है?
दुर्भाग्यवश उस लेख का लिंक अब काम नहीं कर रहा है। हालांकि एक ही लेख यहां पाया जा सकता है: http://kangax.github.com/nfe/ – Jan