При продвижении через сценарий, который использует jQuery, я просто хочу протестировать код, который я написал. Я не хочу ступать в файл jQuery - я не отлаживаю jQuery, просто мой собственный файл.
Там какие-либо пути состоят в том, чтобы сказать отладчику не ступать в файл jQuery? Я использую Visual Studio + Internet Explorer, а также Firefox + Firebug для продвижения через код..., и оба, кажется, любят ступать через десятки положений jQuery.
Например, скажите, что у меня есть сценарий как это:
$("div").each(function() {
$(this).hide();
});
Это - технически отдельный оператор - поэтому "Переступают", выполнит весь код сразу, который перескочит через внутреннее, "скрывают" оператор. Однако "Шаг В" возьмет меня к коду jQuery, и я должен буду ступить десятки строк кода, прежде чем он возьмет меня к "скрыть" оператору.
Я хотел бы иметь отладчик, полностью игнорируют код jQuery, таким образом, я могу легко ступить через просто свой собственный код и никогда не ступать через код jQuery.
В C# это возможно при помощи [DebuggerStepThrough ()] атрибут на классе. Но это не помогает с JavaScript.
По крайней мере, в отладчике JavaScript Firebug есть опция "step over", которая все же не опускается до вызовов функций.
Однако вам придется выбирать между "step (into)" и "step over" вручную в зависимости от того, какая функция вызывается.
F10 должен перешагивать через вызовы функций, F11 должен переходить к вызовам функций. Это работает как в VS, так и в firebug.
Ответ довольно прост, нужно просто рефакторить функцию. Я не могу вспомнить
$("div").each(function() {
doThis(this);
});
function doThis(object) {
$(this).hide();
}
Почти наверняка будет работать с полуприличным отладчиком.
Совершенно уверен, что ответ - «нет, эта функция не существует».
Какова ваша мотивация здесь? Мне кажется, что установка точки останова на Строке 2 и создание часов для «набора результатов» Строки 1, пока вы там, вы получите то, что вы, вероятно, захотите.