Загрузка jQuery внутри функции строгого режима ES5

#javascript #jquery

#javascript #jquery

Вопрос:

Я хотел бы импортировать jQuery в область IIFE следующим образом:

 (function (window, document) {
    "use strict";
    /* Content of jquery.min.js goes here */
    /* Code that uses $ goes here */
}(window, document));
  

Теперь я сталкиваюсь с нарушением строгого режима, как только выполняется этот код, возможно, потому, что сам jQuery не соответствует:

В коде строгого режима функции могут быть объявлены только на верхнем уровне или непосредственно в другой функции.

Есть ли способ загрузить jQuery только внутри одной области действия функции, сохраняя при этом строгий режим для остальной части кода, который полагается на него?

Комментарии:

1. Я понимаю, что может оказаться невозможным загрузить jQuery в изолированной области, поскольку он всегда касается window.jQuery и window. $ и, следовательно, быть глобальным.

Ответ №1:

Ответ здесь: https://github.com/jquery/jquery/issues/1779

jQuery не предназначен для запуска с использованием «use strict». Причину смотрите в комментарии в верхней части неминифицированного файла или посмотрите на http://bugs.jquery.com/ticket/13335 для получения дополнительной информации. Вы ничего не добьетесь, пытаясь принудительно перевести jQuery в строгий режим против его воли, это предотвращает взаимодействие с любыми сторонними библиотеками, которые не совместимы со строгим использованием.