19

当我尝试从断点执行任何操作时,我在 Safari 控制台中收到此错误。错误报告在这里:https ://bugs.webkit.org/show_bug.cgi?id=83267

有人有解决方法吗?由于我假设与此有关的原因,javascript 已停止在我的 safari 网站上运行。

编辑:错误报告还包含重现步骤。

另一个编辑:我没有使用“with”语句。这是来自 Safari 控制台的错误。

4

2 回答 2

9

with(obj) {}语句已弃用,因此在严格模式下无效。

要解决这个问题,要么禁用严格模式,要么停止使用 with 语句!

于 2012-08-31T16:07:34.897 回答
3

ECMAScript 5 中的严格模式禁止例如。with陈述。你有两个选择:

  • 禁用严格模式("strict mode";从文件/函数中删除行),或
  • (首选)避免使用with语句——它们是有害的并且完全不可读。

来自 John Resig 的有关严格模式的更多信息:ECMAScript 5 Strict Mode、JSON 等

您可以在文章中阅读该严格模式:

  • 让你无法改变delete(如 in delete foo;),
  • 限制使用eval,
  • 对函数添加一些限制(例如访问callercallee),
  • 删除with语句,
于 2012-08-31T16:12:18.483 回答