Проблема области видимости переменной Javascript - PullRequest
0 голосов
/ 12 сентября 2011

У меня проблема со ссылкой на глобальную переменную внутри литерала объекта:

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?

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

вы можете определить его вне всех функций, как это;

var globalVar ;

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

$(document).ready(function() {
    f();
    alert(globalVar); //works
    var a = $("#id").autocomplete({ 
        lookup: globalVar 
    });
});
0 голосов
/ 12 сентября 2011

Нет причины, которая не должна работать, это связано либо с неправильным пониманием того, как использовать эту функцию автозаполнения, либо с проблемой в самой функции.Но глобальный объект должен быть назначен, и нет проблем с назначением глобального объекта таким образом.В любом случае, без дополнительного кода (то есть функции автозаполнения) невозможно сказать, в чем проблема.

...