मुझे लगता है कि आपको अधिकतर ब्राउज़रों पर मिल जाएगा, window
में संग्रहीत हैं।
सुदूर मनोविज्ञान डीबगिंग प्रयास: क्या आपने इसका परीक्षण जेएसएफडल में किया था? या शायद फायरबग में? यदि ऐसा है, तो आप शायद तीनों के लिए undefined
देख रहे हैं क्योंकि उस स्थिति में
कोड को फ्रेम में निष्पादित किया गया है; तो यह एक अलग
window
वस्तु (मुझे लगता है कि)
कोड वास्तव में लपेटा जाता है है:
window.addEvent('load', function() {
var test="stuff";
console.log(window.test);
console.log(document.test);
console.log(this.test);
});
आप jsFiddle से ऊपर टुकड़ा है कि test
नहीं एक वैश्विक चर है, जो बताता है कि क्यों यह hasn है से देख सकते हैं window
से जुड़ा हुआ नहीं है।
मैं कोई विशेषज्ञ नहीं हूं, लेकिन यह उत्तर क्रोम, फ़ायरफ़ॉक्स, सफारी और ओपेरा में जो कुछ भी बता सकता है उससे सटीक प्रतीत होता है। सत्यापित करने के लिए, मैं निम्नलिखित सामग्री के साथ एक HTML फ़ाइल बनाया है और प्रत्येक ब्राउज़र में लोड:
<script type="text/javascript">
var test = "stuff";
alert(window.test);
</script>
पर्याप्त ज़रूर, "सामान" हर बार।
स्रोत
2012-07-20 04:40:47
संक्षिप्त उत्तर: आप वैश्विक चर का संदर्भ कैसे देते हैं, यह आपके पर्यावरण पर निर्भर करता है। –
"पर्यावरण" से आपका क्या मतलब है? ब्राउज़र, दायरा, ओएस? – twiz
जावास्क्रिप्ट ब्राउज़र में, पुराने फ़ोटोशॉप में, पुराना वीआरएमएल ब्राउज़र में चला सकता है, इंजन के भीतर आप जावा प्रोग्राम और कई अन्य होस्ट सिस्टम में एम्बेड कर सकते हैं। हम इन्हें "मेजबान वातावरण" कहते हैं। तो हाँ, यह एक ब्राउज़र हो सकता है। जावास्क्रिप्ट प्रोग्राम इन वातावरण से वस्तुओं का उपयोग करते हैं। –