Javascript SyntaxError:';与';语句在严格模式下无效
当我试图从断点执行任何操作时,在safari控制台中出现此错误。错误报告如下: 有人有解决办法吗?由于我假设与此相关的原因,javascript已停止在我的safari站点上运行 编辑:错误报告还包含复制步骤 另一个编辑:我没有使用“with”语句。这是来自safari控制台的错误 with(obj){}语句已弃用,因此在严格模式下无效Javascript SyntaxError:';与';语句在严格模式下无效,javascript,safari,with-statement,deprecation-warning,Javascript,Safari,With Statement,Deprecation Warning,当我试图从断点执行任何操作时,在safari控制台中出现此错误。错误报告如下: 有人有解决办法吗?由于我假设与此相关的原因,javascript已停止在我的safari站点上运行 编辑:错误报告还包含复制步骤 另一个编辑:我没有使用“with”语句。这是来自safari控制台的错误 with(obj){}语句已弃用,因此在严格模式下无效 要解决此问题,请禁用严格模式,或停止使用with语句 ECMAScript 5中的严格模式禁止,例如带有语句的。你有两个选择: 禁用严格模式(从文件/函数中删
要解决此问题,请禁用严格模式,或停止使用with语句 ECMAScript 5中的严格模式禁止,例如带有语句的
。你有两个选择:
- 禁用严格模式(从文件/函数中删除
“严格模式”
行),或
- (首选)避免将
与语句一起使用-它们有害且完全不可读
John Resig提供的有关严格模式的详细信息:
您可以在文章中看到,严格模式:
- 使您无法
删除
变量(如删除foo;
)
- 限制使用
eval
- 对函数添加了一些限制(例如访问
调用方
和被调用方
)
- 使用
语句删除
从技术上讲,我不使用with(我想safari是内部使用的?),但这是我的doctype:。。。这就是“严格”在本文中的含义吗?所以我想解决办法是在Safari修复此错误之前,在我能找到的任何地方删除“使用严格”这个词?@quinn:如果您添加“使用严格”怎么办代码>在函数中,而不是在文件中?这有什么区别吗?这样,它应该只应用于函数的内容。@Eric我删除了“use strict”,并且一切正常,safari调试器似乎无法在具有“use strict”的上下文中工作;:(感谢您的帮助!这不是OP使用with,而是Safari控制台代码。不是Safari特有的。'use strict';with(this);
在FF/Chrome中生成“严格模式代码可能不包含'with'语句”。这是Safari特有的,因为如果您试图在中的调试器控制台中计算任何内容,请使用strict”
scope,即使在脚本中或键入的内容中看不到单词with
,也会出现此错误。显然,Safari会将您键入的内容用包装成,并尝试对其进行评估。有关更多详细信息,请参阅引用的错误报告。可能的重复项不是与一起使用的OP,而是Safari控制台e代码。有人能指出“with”的推荐替代品吗?