簡體   English   中英

如何使變量在javascript中更改外部函數?

[英]How do I make variables change outside functions in javascript?

我是 Javascript/編程的初學者,我正在嘗試使用函數中選擇的 5、10 或 15 變量(由按鈕觸發)來更改“demo2”id,但它一直顯示“0”。 我需要做什么?

 <!DOCTYPE html> <html> <body> <button onclick="alternative1()">5</button> <button onclick="alternative2()">10</button> <button onclick="alternative3()">15</button> <p id="demo"></p> <p id="demo2"></p> <script> var x = 0; var y = 0; function alternative1() {y = x + 5; document.getElementById("demo").innerHTML = "You have chosen " + y; } function alternative2() {y = x + 10; document.getElementById("demo").innerHTML = "You have chosen "+ y; } function alternative3() {y = x + 15; document.getElementById("demo").innerHTML = "You have chosen "+ y; } document.getElementById("demo2").innerHTML = y; </script> </body> </html>

您不能從函數外部訪問函數內部聲明的變量。 該變量僅屬於函數的范圍,而不屬於全局范圍。

您不需要 3 個功能。 你可以用1來做。

 <!DOCTYPE html> <html> <body> <button onclick="alternative(this)">5</button> <button onclick="alternative(this)">10</button> <button onclick="alternative(this)">15</button> <p id="demo"></p> <script> function alternative(obj) { document.getElementById("demo").innerHTML = "You have chosen " + obj.innerHTML; } </script> </body> </html>

快樂學習

有零是正常的,因為在“y”中有零並且沒有對 y 執行任何操作。

我希望這個答案能幫助你理解你做了什么。

您需要在每次操作后更改“demo2 inner”,並且需要為“y”當前值添加新值(使用 +=)

 var x = 0; var y = 0; function alternative(param) { y += x + param; document.getElementById("demo").innerHTML="You have chosen "+ param; document.getElementById("demo2").innerHTML = y; }
 <!DOCTYPE html> <html> <body> <button onclick="alternative(5)">5</button> <button onclick="alternative(10)">10</button> <button onclick="alternative(15)">15</button> <p id="demo"></p> <p id="demo2"></p> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM