2010-05-07 18 views
15

में जावास्क्रिप्ट स्थानीय चर बारी करें मेरे पास एक var उत्पन्न करने के लिए जावास्क्रिप्ट फ़ंक्शन है। यह फ़ंक्शन ऑनक्लिक बटन ईवेंट द्वारा सक्रिय किया जाता है।वैश्विक वैरिएबल

उस var उत्पन्न होने के बाद, मुझे इसे वैश्विक var के रूप में उपयोग करने की आवश्यकता है ताकि अन्य जेएस प्रक्रियाएं उस var का उपयोग कर सकें।

मैं इसे कैसे कर सकता हूं?

+0

एफवाईआई, अकेले प्रक्रियाओं को छोड़ने के लिए, जावास्क्रिप्ट थ्रेड का उपयोग भी नहीं करता है, सिवाय इसके कि मुझे लगता है कि सेटटाइम –

उत्तर

11

आप वैश्विक window वस्तु की एक संपत्ति के लिए वेरिएबल का मान जोड़ने के लिए सक्षम होना चाहिए:

window.yourVarName = yourVarName; 

फिर अन्य कार्यों बस yourVarname सीधे हवाला yourVarName उपयोग करने में सक्षम हो जाएगा। window.yourVarName का उपयोग करने की आवश्यकता नहीं होगी।

हालांकि ध्यान रखें कि सामान्यतः global variables are evil

+0

क्यों है बुराई? मन थोड़ा सा समझाओ? –

+0

@Eric: http://stackoverflow.com/questions/2613310/ive-heard-global-variables-are-bad-what-alternative-solution-should-i-use –

+0

जावास्क्रिप्ट में, डिफ़ॉल्ट रूप से यह विंडोज ऑब्जेक्ट है, फिर से खिड़की –

3

समारोह के दायरे से बाहर चर घोषित करें:

var foo = null; 

function myClickEvent() { 
    foo = someStuffThatGetsValue; 
} 

अभी तक बेहतर, आपके आवेदन के लिए नाम स्थान के रूप में एक वैश्विक चर का उपयोग, और कहा कि अंदर मान संग्रहीत:

var MyApp = { 
    foo: null 
}; 

function myClickEvent() { 
    MyApp.foo = someStuffThatGetsValue; 
} 

समारोह में भी

संबंधित मुद्दे