当名称与JavaScript中的参数名称相同时,如何从函数访问全局变量?
var name = null;
function func(name) {
// How to set the global variable with the passed value
}
答案 0 :(得分:1)
将参数名称更改为其他名称。别无他法,因为它总能看到最里面的name
。
答案 1 :(得分:1)
var name = 'Name outer';
function func(name) {
console.log(name);
console.log(window.name);
}
func ('Name inner');
然而,这将是不好的做法,你应该避免这种情况。
答案 2 :(得分:0)
如果您真的在谈论全局变量,可以这样做:
function func(name) {
window.name=name;
}
在浏览器中或
function func(name) {
global.name=name;
}
在node.js中但是如果你在一个函数中声明了name
,则无法做到这一点。
但是,如果可能的话,你应该避免使用gobal变量,因为它们被所有使用过的代码共享,包括库,你不知道这是否有任何副作用。