我在一个项目上运行JavaScript Lint来检查常见的编程错误。我遇到了这个错误:
语法错误:缺少变量名
在这条线上:
var char, font;
从谷歌搜索,我发现当保留字用作变量名时会显示该错误;但从MDN 的列表来看,既不是char
也不font
是保留。
这里有什么问题?
我在一个项目上运行JavaScript Lint来检查常见的编程错误。我遇到了这个错误:
语法错误:缺少变量名
在这条线上:
var char, font;
从谷歌搜索,我发现当保留字用作变量名时会显示该错误;但从MDN 的列表来看,既不是char
也不font
是保留。
这里有什么问题?
没关系,我通过阅读“char”关键字的用途是什么找到了答案?.
显然char
在 ECMA 3 中被保留,但在 ECMA 5 中作为保留关键字被删除。
我已经重命名了我的var
now,以防止旧实现出现任何潜在问题。
根据http://www.quackit.com/javascript/javascript_reserved_words.cfm
char
是 JavaScript 保留的关键字。
我觉得font
还可以。
由于这个问题在谷歌搜索的第一页上被返回JS Missing variable name
,我觉得这是提到这个错误的其他 SO 问题中最合适的,我将在这里详细说明这个错误的另一个原因:
在(例如)Firefox 的 Scratchpad 中使用具有%20 HTMLEntity 代替空格的书签代码时。
我通过对我的代码进行这些更改来解决这个问题。
我有:
var a = 1,
b = 2;
我把它改成了这个(错误地),这导致了错误:
var a = 1,
var b = 2;
我用这个解决了它:
var a = 1;
var b = 2;