jQuery的attr()在chrome中逐步调试时失败
jQuery's attr() fails when debugging step by step in chrome
我在Chrome中调试下一个代码时发现了一些奇怪的代码行为:
1. $('.btn-info').click(function(){
2. console.log("Category ID: " + $(this).attr("category_id"));
3. var categoryId = $(this).attr("category_id") ;
4. console.log("CategoryID: " + categoryId);
5. });
当我在第 3 行放置断点并使用调试器运行脚本时,我得到的消息Category ID: {some value}
按预期打印在控制台中。但是,继续跨过第 3 行并检查 categoryId
的值显示变量的值由于某种原因而NaN
,因此在跨过第 4 行后,我进入控制台Category ID:
。
有趣的是,如果我运行没有断点的相同脚本,我会按预期在控制台中打印Category ID: {some value}
两条消息。
请问谁能解释一下这种奇怪的行为?
谢谢。
调试
时这样的问题通常在其他东西更改值时发生,例如类似
var val=1;
$.get(..., function(){
val=2
});
console.log(val);
如果在 console.log() 上添加断点,程序可能有足够的时间完成 get 并运行回调。 但是如果没有断点,输出中通常为 val=1。
当然不是那么明显,但是查看回调,您会发现问题所在
相关文章:
- 如何在vs2002中调试html页面
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- 如何在visualstudio中调试web api时编辑javascript文件
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 如何调试Javascript代码或函数
- 基于Web的JS调试库
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- console.assert失败时中断chrome调试器
- 安装Crossrider扩展的调试扩展失败-Firefox
- 有没有办法在node.js中的异常或测试失败时启动调试器
- jQuery的attr()在chrome中逐步调试时失败
- 为什么我在Intellij IDEA 11中调试nodejs应用程序失败
- 为什么返回调试器在javascript中失败
- 笑话问题:调试失败的测试和使用——bail
- 调试失败jQuery validate addMethod
- 有没有一种方法可以调试失败的AJAX请求?或者为什么我的失败了
- AngularJs -调试失败的http请求