【问题标题】:SyntaxError: missing variable name语法错误:缺少变量名
【发布时间】:2013-08-15 03:45:21
【问题描述】:

我在一个项目上运行JavaScript Lint 来检查常见的编程错误。我遇到了这个错误:

语法错误:缺少变量名

在这一行:

var char, font;

通过谷歌搜索,我发现当保留字用作变量名时会显示该错误;但是从MDN's list来看,charfont都不是保留的。

这里有什么问题?

【问题讨论】:

  • jslint.com 不报错。

标签: javascript jslint


【解决方案1】:

没关系,我通过阅读What is the 'char' keyword used for?找到了答案。

显然char 在 ECMA 3 中被保留,但在 ECMA 5 中作为保留关键字被删除。

我现在重命名了我的var,以防止旧实现出现任何潜在问题。

【讨论】:

  • 如果错误更清楚不是很好。也许像“X 保留字试图被声明为变量”一样直观。我的意思是,JS 解释器知道哪个闪烁的单词是问题所在,对!
【解决方案2】:

根据http://www.quackit.com/javascript/javascript_reserved_words.cfm

char 是 JavaScript 保留的关键字。

我认为font 很好。

【讨论】:

    【解决方案3】:

    由于这个问题在谷歌搜索JS Missing variable name 的第一页上返回,我觉得这是提到此错误的其他 SO 问题中最合适的,我将在此处详细说明此错误的另一个原因:

    在(例如)Firefox 的 Scratchpad 中使用具有 %20 HTMLEntity 代替 空格 的书签代码时。

    【讨论】:

      【解决方案4】:

      我通过对我的代码进行这些更改来解决这个问题。

      我有:

      var a = 1,
          b = 2;
      

      我把它改成了这个(错误地),导致错误:

      var a = 1,
      var b = 2;
      

      我用这个解决了:

      var a = 1;
      var b = 2;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-18
        • 2011-05-17
        • 1970-01-01
        • 1970-01-01
        • 2013-07-30
        相关资源
        最近更新 更多