Как мне узнать, где определена переменная во время выполнения?

До недавнего времени я без проблем использовал jQuery и YUI бок о бок. Иногда внутри обратного вызова, скажем, для кнопки YUI, $ будет затенен другой функцией (щелкните, чтобы увидеть большую версию): console

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

Как мне узнать, откуда взялся самозванец $ во время выполнения? - например, найти, где он объявлен и почему он находится в моей области кровотечения.


Оказывается, это поведение легко воспроизвести (по крайней мере, в Chrome и Firefox 4) прямо здесь, в Stack Overflow, поскольку SO использует jQuery (опять же, щелкните, чтобы увидеть полный размер):

more console still more console

Я могу только сделать вывод, что $ как

function () {
    return document.getElementById.apply(document, arguments)
}

должен быть из самой консоли!

Нашел.

с ударяет снова.

enter image description hereenter image description here

] Ошибка Chromium для этого: http://code.google. com / p / chromium / issues / detail? id = 70969

11
задан m0sa 2 February 2017 в 17:36
поделиться