JS错误:SyntaxError:missing;在声明之前

时间:2014-08-03 14:50:34

标签: javascript

我收到了一个错误(它是javascript btw),即使经过大量的谷歌搜索,我也无法找到它的来源。它说“SyntaxError:missing; before statement”,箭头指向nmwoo_vars和file_meta之间的点。谁知道如何解决它?

var nmwoo_vars.file_meta = [{"label":"Graveren","type":"checkbox","options":"Ja, graveer mijn bril","price":"10"},{"label":"Gravering","type":"text","options":"","price":""}];

2 个答案:

答案 0 :(得分:2)

var关键字用于声明变量。您只是向对象添加属性,因此var不正确。

nmwoo_vars.file_meta = [{"label":"Graveren","type":"checkbox","options":"Ja, graveer mijn bril","price":"10"},{"label":"Gravering","type":"text","options":"","price":""}];

就是你所需要的(假设“nmwoo_vars”本身就是一个引用一个对象的变量)。

在大多数情况下,解析器不是很聪明。您获得的错误意味着解析器假设您的代码尝试执行的操作。在现实生活中,这些假设可能更经常是错误的,因此这些消息对此没什么帮助,对于那些学习语言的人来说尤其令人困惑。通常,最好只检查一下代码,并验证它在语法上是否正确,忽略了错误的细节。

答案 1 :(得分:0)

以下是测试对象创建的示例代码,它运行正常。

var nmwoo_vars = new Object();
nmwoo_vars.file_meta = [{"label":"Graveren","type":"checkbox","options":"Ja, graveer mijn    bril","price":"10"},{"label":"Gravering","type":"text","options":"","price":""}];

alert(nmwoo_vars.file_meta[0].label);

正如Pointy所说,你无法动态初始化对象。您必须先创建对象,然后分配其属性。