У меня есть страница с JavaScript, которая имеет функцию, которая вызывается самостоятельно при запуске страницы. Эта страница также включает библиотеки jquery и jquery ui (сначала включен jquery, а затем jquery ui).
Следующий JavaScript включен в конец страницы перед закрытием тега body.
В приведенном ниже коде, хотя переменные x и y правильно указывают, что jquery ui существует, но в функции global.method1
переменная z всегда неопределена, когда она должна была быть определена с момента загрузки jquery ui.
Вопрос
Почему $ .ui определяется вне функции, вызываемой самим собой, а также внутри события готовности документа в той же самой функции, которая вызывается самим собой, но не в методе global.method1 ?
У меня есть демонстрационная версия по следующей ссылке, в которой я не вижу этого поведения, т. Е. В method1 определен $ .ui: образец исполняемого кода . Так что это действительно сбивает с толку.
var x = $.ui;//defined
(function (global) {
var dialogOptions;
$(
function () {
var y = $.ui;//defined
//some more code here
}
);
global.method1 = function () {
var z = $.ui; //not defined
//some more code here
}
//some more code here
})(window);