分配javascript1.7中的左侧无效

分配javascript1.7中的左侧无效,javascript,Javascript,GoogleChrome中的JavaScript1.7错误 示例: var x, y; try { [x, y] = ["1", "2"]; document.write(x+": "+y); } catch(e){ console.log(e); } 捕捉错误: 分配JavaScript1.7中的左侧无效 实际上,我需要测试浏览器是否支持javascript1.7 我需要的是实际测试浏览器是否支持javascript1.7 但如果不使用这种代码: jsversion=1.7; 这段代码

GoogleChrome中的JavaScript1.7错误

示例:

var x, y;
try {
 [x, y] = ["1", "2"];
 document.write(x+": "+y);
} catch(e){
 console.log(e);
}
捕捉错误: 分配JavaScript1.7中的左侧无效

实际上,我需要测试浏览器是否支持javascript1.7

我需要的是实际测试浏览器是否支持javascript1.7 但如果不使用这种代码:

jsversion=1.7; 这段代码在w3c看来是无效的,它也在处理全局变量, 这可能是一件非常糟糕的事情(可能导致冲突和其他问题)

我尝试使用以下代码(但错误发生在“strict”

这就是我需要做的,测试浏览器是否支持javascript1.7

谢谢。

试试看

var isESNext;
try {
  eval('(function () { var x, y; [x, y] = [1, 2]; })()');
  isESNext = true;
} catch (ex) {
  isESNext = false;
}
这将使用
eval
解析一段代码,该代码使用模式分解,但不是有效的EcmaScript 5。声明和分配
isESNext
的其余代码是有效的EcmaScript 3代码,但应在所有浏览器上运行

您遇到的问题是由于:

16个错误 早期错误是在评估程序中包含该错误的任何构造之前可以检测并报告的错误。实现必须在对程序进行第一次评估之前报告程序中的早期错误

实现必须将以下类型错误的任何实例视为早期错误:

  • 任何语法错误
但是上面的代码片段绕过了早期错误,因为

调用
eval
时会报告
eval
代码中的早期错误


你没读过吗??Chrome的这个缺陷,我怀疑是另一个。。。对不起,我说得太多了,但我解释了问题。首先,如果可能的话,我需要在所有浏览器中都能工作的东西,表明浏览器支持javascript1.7。谢谢,@请文明点,我已经道歉了,好吗?我希望你能,你能阅读我在问题中写的所有内容来理解我的疑问,如果你能帮助我,我将不胜感激。@Guillermanascimento,我在你的代码中看到了“JavaScript 1.7”,但我不清楚你说你在哪里尝试过在1.7特定的结构周围使用
eval
,但它没有起作用。@Guillermanascimento,Google chrome支持EcmaScript 3.1和EcmaScript 5的部分内容。JavaScript1.7是Mozilla的产物。没有其他浏览器支持JavaScript>1.5,而是支持不同版本的EcmaScript。看见
var isESNext;
try {
  eval('(function () { var x, y; [x, y] = [1, 2]; })()');
  isESNext = true;
} catch (ex) {
  isESNext = false;
}