gpt4 book ai didi

javascript - JS - 设置一个全局变量

转载 作者:行者123 更新时间:2023-11-29 17:17:04 26 4
gpt4 key购买 nike

我想通过 set 函数设置一个全局变量,但它总是将其设置为 undefined 值:

var name;
var setName = function(name){
this.name = name;
}

最佳答案

在这种情况下,您不使用this。 (它可以工作但不一定。为什么?阅读 this )

只需使用:

var name;
var setName = function (aname) {
name = aname;
}

还要确保此代码在另一个范围(函数)内:

function foo() {
// ...
var name;
var setName = function (aname) {
name = aname;
}
// ...
}

在这种情况下,名称不会是全局的,您必须省略它的声明以使其成为全局的:

function foo() {
// ...
var setName = function (aname) {
name = aname; // not it is global, if not defined in the visible scope
}
// ...
}

但这是一个的做法,所以尽量避免污染 global namespace .在以下情况下,变量被认为在 global 命名空间中:

  • 它没有var(name = ...,也没有其他可见的局部变量name
  • window 上设置(例如 window.name = ...)

关于javascript - JS - 设置一个全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16625890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com