मेरा परिणाम:

enter image description here

कोड:

<title>Javascript</title>
<div id="tweetDiv"></div>

<script type="text/javascript">
    var tweetString = "";


    var tweets = ["Lion", "Cat", "dog", "tiger"];

    for (var i = 0; i < tweets.length; i++) {

        tweetString = tweetString + "<p>" + tweets[i] + "</p>";

    }
    document.getElementById("tweetDiv").innerHTML = tweetString;
</script>

जब मैं लूप के अंदर और लूप के बाहर से ट्वीटस्ट्रिंग प्रिंट करता हूं तो वही परिणाम क्यों मिल रहा है।

-1
saiarlen 7 फरवरी 2019, 15:44

2 जवाब

सबसे बढ़िया उत्तर

ऐसा इसलिए हो रहा है क्योंकि tweetString का वैश्विक दायरा है। जब एक चर का वैश्विक दायरा होता है तो इसे कोड में कहीं भी किसी भी फ़ंक्शन/वेरिएबल द्वारा एक्सेस किया जा सकता है। यदि आप फंक्शन/लूप के अंदर वेरिएबल को परिभाषित करते हैं तो इसे स्थानीय स्कोप मिलेगा और आप वेरिएबल को फंक्शन/लूप के अंदर से ही एक्सेस कर पाएंगे न कि बाहर। कीवर्ड का उपयोग भी मायने रखता है, यदि आप लूप के अंदर var का उपयोग करके एक वैरिएबल घोषित करते हैं तो इसका वैश्विक दायरा भी होगा, लेकिन इसे लेट का उपयोग करके परिभाषित करें, इसका दायरा केवल उस ब्लॉक तक ही सीमित होगा

वैश्विक कार्यक्षेत्र

var tweetString = "";


    var tweets = ["Lion", "Cat", "dog", "tiger"];

    for (var i = 0; i < tweets.length; i++) {

        tweetString = tweetString + "<p>" + tweets[i] + "</p>";

    }
    document.getElementById("tweetDiv").innerHTML = tweetString;
<div id="tweetDiv"></div>


    

स्थानीय दायरा (let का उपयोग करके फ़ंक्शन/लूप के अंदर परिभाषित)

    var tweets = ["Lion", "Cat", "dog", "tiger"];

    for (var i = 0; i < tweets.length; i++) {
      let tweetString = "";
        tweetString = tweetString + "<p>" + tweets[i] + "</p>";

    }
    document.getElementById("tweetDiv").innerHTML = tweetString;
 <div id="tweetDiv"></div>

यहां जब आप इसे लूप के बाहर से एक्सेस करने का प्रयास करते हैं तो आपको त्रुटि मिलेगी

2
ellipsis 7 फरवरी 2019, 15:52

"tweetString" को स्थानीय चर के रूप में उपयोग करते समय (लूप के अंदर):

जब "tweetString" का मान समाप्त होने वाला लूप होगा "

सिंह

बिल्ली

कुत्ता

बाघ

और आंतरिक HTML पुराने बच्चों के तत्वों को नए तत्वों में बदल देता है। तो हर लूप "tweetString" का मान नए से बदल जाएगा।

"tweetString" को वैश्विक चर के रूप में उपयोग करते समय (बाहरी लूप घोषित करें):

लूप एंड के बाद "tweetString" का मान "tweetDiv" में एक बार बिना रिप्लेस किए पूरे स्टिंग के साथ जुड़ जाएगा।

0
Community 20 जून 2020, 12:12