+ 3

different output in array

1) <button onclick="klik();">klik me</button> <p id="here"></p> <script> var x = 0; function klik(){ var scripts = ["PHP","HTML","JS"]; document.getElementById("here").innerHTML += scripts[x] + "<br >"; x++; }</script> 2)<button onclick="klik();">klik me</button> <p id="here"></p> <script> function klik(){ var x = 0; var scripts = ["PHP","HTML","JS"]; document.getElementById("here").innerHTML += scripts[x] + "<br >"; x++; }</script> why the output is different ?, and why no 2 just output "PHP" ?

3rd Jun 2017, 12:36 PM
AryaJ
AryaJ - avatar
2 Réponses
+ 10
In the second case the variable x will be always 0, because after the onclick event you declare again and again the variable x with the 0 value. // FIXED VERSION <button onclick="klik();">klik me</button> <p id="here"></p> <script> var x = 0; function klik( ) { var scripts = ["PHP","HTML","JS"]; if (x >= scripts.length) x=0; document.getElementById("here").innerHTML += scripts[ x++ ] + "<br >"; } </script>
3rd Jun 2017, 12:56 PM
Maz
Maz - avatar
+ 2
Thanks for your response maz, anyway the FIXED VERSION of your code is the best 👍
3rd Jun 2017, 1:13 PM
AryaJ
AryaJ - avatar