Я хочу восстановить значение $ после jQuery.noConflict(). Как я мог это сделать?
$ = 12
$ = jQuery.noConflict()
jQuery.noConflict()
$ //undefined
Я хочу, чтобы $ снова исполнилось 12.
Ну ... ты не можешь. $ = jQuery.noConflict() сотрет значение. Вы не можете просто «вернуться» к тому, что переменная содержала раньше. Не обошлось и без использования других переменных для хранения.
Я не думаю, что jQuery сделает это за вас: вам придется хранить его в своей собственной переменной. Или почему бы не использовать что-то еще для jQuery.noConflict или использовать анонимную функцию, чтобы сохранить этот $ в новой области, если вам нужно использовать $?
Ага. Как сказал @Taplar, я не понимаю, почему метод-noConflict не может восстановить $. Можем ли мы снова импортировать jQuery, чтобы он мог сэкономить $, хотя у нас есть другие методы для сохранения предыдущего значения $, такие как то, что предложил Руп?
Дело в том, что запускать $ = jQuery.noConflict() даже не имеет смысла. Вся суть noConflict состоит в том, чтобы восстановить $ до того состояния, в котором он был до инициализации jQuery и взятия его на себя. Но этот оператор заставляет jQuery возвращать его, а затем вы назначаете его обратно на $, что делает его бессмысленной операцией.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Думаю, вы не понимаете, как работает noConflict. noConflict восстановит
$до того состояния, в котором он был до инициализации jQuery. Это когда файл был импортирован. Если вы изменяете $ после этого факта, это уже не та точка, в которой jQuery записал то, что было$.