72-解决方案2
5.17.4 解决方案2
前面的代码行包含3个函数调用: jQuery($) 构造器调用,然后是对 .html() and .show() 方法的调用。单步进入命令进入第一个调用(也就是构造器)内部。
这时可以立刻使用单步退出(Step Out)命令,然后再进行单步进入。这能够让你离开jQuery构造器(从而回到原始代码行的中间),然后进入 .html() 方法。
要进入 .show() 方法,可以再配对使用单步退出和单步进入命令。每次这么做,就可以进入jQuery链的下一环。
如果你觉得这样做太乏味,可以像秘诀5.15描述的那样分解方法链,并在希望停止运行的地方添加 debugger; 语句。如果你希望跟踪 .show() 方法,可以对代码作如下修改:
var $test = $('#test');
$test.html( 'test' );
debugger;
$test.show();
现在,当代码在 debugger; 语句处暂停时,可以使用单步进入(两次,第一次进入 $test.show(); 语句,然后单步进入函数调用)。
注意
可以使用单步跳出(Step Over)从
debugger;语句单步执行到下一行,毕竟你现在还不打算“进入”任何函数内,但是单击单步进入(或者在Windows中按F11键)两次更简单,效果也一样好。还可以在$test.show()行上设置断点代替debugger;语句,然后用一个单步进入命令可以进入.show()方法的代码。