繁体   English   中英

对象中的数字键在Firefox中产生错误(“ SyntaxError:缺少;语句前”)

[英]Numeric keys in object gives error in Firefox (“SyntaxError: missing ; before statement”)

对象{'1':'test'}在Firefox中给出错误,但在Chrome中似乎还不错。 有谁知道如何解决这个错误并使之工作? 键和值来自外部来源,因此我不能仅仅更改它们。 (在Firefox中运行下面的代码段,您将看到错误。)

 {'1':'test'} 

您必须将对象保存在变量中或以任何方式使用。 仅仅在脚本块中写入并没有任何作用。

以下工作正常:

 var obj = {'1':'test'}; alert(obj['1']); 

我在chrome控制台和firefox控制台中尝试过。

确实,这在Firefox中不起作用,但这是正常的。

在javascript中,如果您之前没有进行变量声明,则无法输入JSON。

因此,Firefox无法理解它,因为javascript无法理解它。

实际上,我认为Chrome会覆盖javascript解释器以允许声明时不带署名。

就像在python shell中键入5一样,它将写入5。因此,通过Chrome浏览器,您无需键入任何变量即可直接查看数组或对象的结构,而无需将其声明为变量。

您可以在此处查看示例:

https://jsfiddle.net/3yqdj599/

let yes = {'1':'test'};
console.log(yes)
// {'1':'test'} => that doesn't work

最后,不用担心,由于浏览器能够执行javascript,因此,如果您在变量中分配对象,它将对其进行解释。

希望情况清楚,对您有所帮助! :)

Cya!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM