एक और तरीका है, अपने फ़ंक्शन को इस तरह एक चर में घोषित करें:
test = function() {
alert("test");
}
jsFiddle
विवरण
EDIT (@nnnnnn की टिप्पणियों पर आधारित)
@nnnnnn:
क्यों कह test =
(बिना var
) इसे ठीक करोगे?
जब आप किसी फ़ंक्शन को इस तरह परिभाषित करते हैं:
var test = function(){};
फ़ंक्शन को स्थानीय रूप से परिभाषित किया गया है, लेकिन जब आप अपने फ़ंक्शन को बिना परिभाषित करते हैं var
:
test = function(){};
test
उस window
वस्तु पर परिभाषित किया गया है जो शीर्ष स्तर के दायरे में है।
यह काम क्यों करता है?
जैसे @zunun कहते हैं:
यदि आप रैप सेटिंग को निर्दिष्ट नहीं करते हैं तो यह "onLoad" के लिए डिफॉल्ट करता है। परिणाम लोड होने के बाद चलने वाले फ़ंक्शन में सभी जावास्क्रिप्ट लिपटे हुए हैं। इस प्रकार सभी चर स्थानीय स्तर पर अनुपलब्ध हैं।
लेकिन अगर आप इस सिंटैक्स का उपयोग करते हैं:
test = function(){};
आपके पास फ़ंक्शन तक पहुंच है test
क्योंकि यह विश्व स्तर पर परिभाषित है
संदर्भ: