JavaScript 如何在函数内部更改全局变量的值
先决条件: JavaScript中的全局变量和局部变量
局部作用域: 在函数内声明的变量被称为局部变量,只能在函数内部访问。当函数执行完毕后,局部变量会被删除。
全局作用域: 全局变量可以从函数内部和外部访问。它们在关闭浏览器窗口时被删除,但在加载到同一窗口的其他页面中仍然可用。有两种方式可以全局声明变量:
- 在函数外部声明变量。
- 在函数内部给变量赋值,但不使用“var”关键字声明。
示例: 在这个示例中,我们将使用用户输入定义全局变量,并在函数内部操作它们。
<body>
<h1 style="color:green">
GeeksForGeeks
</h1>
<b>Enter first number :- </b>
<input type="number"
id="fNum">
<br><br>
<b>Enter second number :- </b>
<input type="number"
id="sNum">
<br><br>
<button onclick="add()">Add</button>
<button onclick="subtract()">Subtract</button>
<p id="result"
style="color:green;
font-weight:bold;">
</p>
<script>
// Declare global variables
var globalFirstNum1 = 9;
var globalSecondNum1 = 8;
function add() {
// Access and change globalFirstNum1 and globalSecondNum1
globalFirstNum1 = Number(document.getElementById("fNum").value);
globalSecondNum1 = Number(document.getElementById("sNum").value);
// Add local variables
var result = globalFirstNum1 + globalSecondNum1;
var output = "Sum of 2 numbers is " + result;
// Display result
document.getElementById("result").innerHTML = output;
}
// Declare global variables
globalFirstNum2 = 8;
globalSecondNum2 = 9;
function subtract() {
// Access and change globalFirstNum2
// and globalSecondNum2
globalFirstNum2 = Number(document.getElementById("fNum").value);
globalSecondNum2 = Number(document.getElementById("sNum").value);
// Use global variables to subtract numbers
var result = globalFirstNum2 - globalSecondNum2;
var output = "Difference of 2 numbers is " + result;
document.getElementById("result").innerHTML = output;
}
</script>
</body>
HTML
输出: