为什么Chrome调试程序会跳过删除语句?如果在控制台中运行,以下代码将演示观察结果。
(function () {
var foo = { bar: true };
debugger;
delete foo.bar;
})();
答案 0 :(得分:1)
这里的答案是命令'delete'的性质,它不是你在js中习惯的常用函数。我的猜测是,chrome工具设置为在包含对象定义的每一行或运行方法的对象上停止,在幕后几乎所有在javascript中遇到的东西都是对象,但是删除不是对象而是像' +'或' - '。它被跳过的原因是因为这将是你唯一一次没有抛出错误但没有定义或调用对象的行。