Javascript 变量作用域问题

发布于 2024-12-04 02:47:08 字数 367 浏览 2 评论 0原文

我在引用对象文字内的全局变量时遇到问题:

function f() {
    globalVar = "test";
}

$(document).ready(function() {
    f();
    var a = $("#id").autocomplete({ 
        lookup: globalVar //says globalVar is undefined
    });
    $("#button").click(function() {
        alert(globalVar); //works
    });
});

如何将 lookup 的值设置为 globalVar?

I'm having a problem referencing a global variable inside an object literal:

function f() {
    globalVar = "test";
}

$(document).ready(function() {
    f();
    var a = $("#id").autocomplete({ 
        lookup: globalVar //says globalVar is undefined
    });
    $("#button").click(function() {
        alert(globalVar); //works
    });
});

How can I set the value of lookup to globalVar?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

玩世 2024-12-11 02:47:08

您可以像这样在所有函数之外定义它;

var globalVar ;

function f() {
    globalVar = "test";
}

$(document).ready(function() {
    f();
    alert(globalVar); //works
    var a = $("#id").autocomplete({ 
        lookup: globalVar 
    });
});

you can define it outside all functions like this;

var globalVar ;

function f() {
    globalVar = "test";
}

$(document).ready(function() {
    f();
    alert(globalVar); //works
    var a = $("#id").autocomplete({ 
        lookup: globalVar 
    });
});
溺孤伤于心 2024-12-11 02:47:08

没有理由不工作,它要么与如何使用自动完成功能的误解有关,要么与功能本身的问题有关。但是全局应该被分配,并且以这种方式将全局分配给对象是没有问题的。无论哪种方式,如果没有更多代码(即自动完成功能),都无法说出问题是什么。

There is no reason that shouldn't work, it either has to do with a misunderstanding on how to use that autocomplete function, or a problem in the function itself. But the global should be assigned, and there is no problem assigning a global to an object that way. Either way, without more code (i.e. that autocomplete function), can't say what the issue is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文