У меня есть ситуация, когда я пытаюсь объединить несколько файлов Javascript в один и условно применить их.Я не хочу изменять реальные файлы.Есть ли способ, которым я могу обернуть эти файлы и вызывать их по требованию?
Суть в том, что в некоторых из этих файлов есть функция xyz () {}.Таким образом, оборачивая их if (false) {function xyz () {}} делает плохие вещи.
Например, если это мой код ...
if (includeFile) {
/* The file */
function foo() {}
/* The file */
}
ПроблемаПолучается, что Chrome увидит foo () и поместит его в глобальную область , даже если includeFile равен false .
Простым решением было бы изменить его на var foo = function () {} но я не могу изменить эти файлы.
У меня также есть общее беспокойство по поводу запуска eval () для этих функций, так как они довольно большие.(Представьте, что jQuery заключен в функцию. Если это не проблема, возможно, eval является ответом?)
Я надеялся, что смогу вложить функции и передать окно в качестве области видимости, но попробовал этона jsFiddle, и это, похоже, не работает .
(function() {
function foo() {
alert('it works');
}
}).apply(window, []);
foo();
Есть несколько похожих вопросов .Но никто не обращался к той же ситуации, что и я.Спасибо.