JavaScript 和 Python 对于在函数中对全局变量进行赋值的行为略有不同:
JavaScript:
在 JavaScript 中,函数可以对全局变量进行赋值,但需要注意以下几点:
如果在函数中直接使用变量名进行赋值,且该变量未使用 var、let 或 const 关键字声明,则会创建一个全局变量。
javascript
//javascript 没有let,var,const的话,在函数中创建的直接就是全局变量function myFunction() {globalVariable = 10; // 这会创建一个全局变量
}
如果在函数中使用 var、let 或 const 关键字声明一个变量,并且该变量名与全局变量名相同,则会创建一个函数作用域内的局部变量,而不会影响到全局变量。
javascript
let globalVariable = 10; //这是一个全局变量function myFunction() {let globalVariable = 20; // 这会创建一个局部变量,不会影响到全局变量
}
Python:
在 Python 中,默认情况下,如果在函数内部对一个变量进行赋值,Python 会将其视为一个局部变量,而不是全局变量。如果想在函数中修改全局变量,需要使用 global 关键字。
python
global_variable = 10def my_function():global global_variableglobal_variable = 20my_function()
print(global_variable) # 输出 20
在 Python 中,如果在函数内部使用赋值操作对全局变量进行修改,需要使用 global 关键字声明该变量为全局变量,否则 Python 会将其视为函数内部的局部变量,不会影响到全局变量。