【发布时间】:2016-05-12 13:02:06
【问题描述】:
我一直在从事我的项目,我必须对我的数据记录进行一些更新。完成更新后,我收到一个错误:SyntaxError: identifier starts immediately after numeric literal,而这行代码低于 firebug 中的错误:maxScores.ew-19a = ''
我查看了我的代码,发现这个输出来自哪里,代码如下:
var maxScores = new Object;
<cfoutput query="getRec">maxScores.#LCase(tCode)# = '#maxScore#';</cfoutput>
在我的更新中,我必须在字母和数字之间放置- 符号,在旧数据中我没有这个符号,所以我认为这会导致这里出现问题。我想知道如何防止这种情况发生,或者是否有任何方法可以在我的输出周围放置以防止这种情况发生?如果您知道如何解决此问题,请告诉我。谢谢。
【问题讨论】:
-
ew-19a不是一个有效的标识符,因此您不能在该对象属性引用形式中使用它。您必须将其引用为字符串并使用[ ]来引用该属性。 -
@Pointy 你能提供例子吗?我尝试过类似的方法,但这对我不起作用。谢谢。
-
我不知道 ColdFusion 但可能是
maxScores["#LCase(tCode)#"] = '#maxScore#'; -
只需使用
maxScores[LCase(tCode)] = maxScore;并阅读this。 -
谢谢@Pointy。我试过了,效果很好。
标签: javascript coldfusion coldfusion-11