jQueryJavaScript错误 - 缺失;在声明之前

时间:2011-12-28 10:28:00

标签: javascript jquery

我在我的代码中使用此语句来缓存jquery选择器,这导致控制台出错。错误是"Missing ; before statement"

var $medium-image-holder = $('#image_'+itemID_value);

其中itemID_value是数值。该语句位于for循环

出于好奇,在尝试了各种技巧来克服这个问题后,我用变量名中的下划线替换了连字符。

var $medium_image_holder = $('#image_'+itemID_value);

令人惊讶的是,这有效。

我想知道是否允许在JavaScript变量名中使用连字符。至少,我不知道这件事。如果有人澄清,那将非常有用。

4 个答案:

答案 0 :(得分:4)

实际上,变量名称中的连字符

答案 1 :(得分:3)

MDC Guidelines for variable names state;

  

JavaScript标识符必须以字母,下划线(_)或美元符号($)开头;后续字符也可以是数字(0-9)。由于JavaScript区分大小写,因此字母包括字符“A”到“Z”(大写)和字符“a”到“z”(小写)。

答案 2 :(得分:1)

您的陈述$medium-image-holder被解释为$medium - image - holder($ medium减去图片减去持有人)。

在将此语​​句解释为代数表达式之后,您尝试将其结果设置为具有另一个语句(=$('#image_'+itemID_value))的值,这是不允许的。这就是您的错误消息来源。

答案 3 :(得分:0)

java脚本不允许连字符在变量名称声明中变量名称只能包含字母数字或下划线而且变量名称应该只以字母变量名称开头,不能以数字开头

欢呼声