【问题标题】:What is the 'char' keyword used for?'char' 关键字是做什么用的?
【发布时间】:2012-04-06 16:43:04
【问题描述】:

什么是 char 在 JavaScript 中使用的保留关键字(因为不需要类型声明),尤其是使用它的正确语法是什么(有人能给我一个适当的完整示例)吗?

因为写char c; 会引发解释错误missing ; before statement,就在c 之前?

【问题讨论】:

  • 执行char c 时遇到的错误并不意外。试试blah c,你会得到类似的错误。虽然您的问题在这种情况下确实有历史背景(这就是它有趣的原因),但我认为这不是您得到错误的原因。

标签: javascript char keyword


【解决方案1】:

JavaScript 中有很多保留关键字是为“未来”使用而保留的。它们不一定有当前用途和描述。

MDN 确实在此处列出了其中一些具有这种特殊“未来使用”状态的产品:https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words(感谢DCoder),您也可以从那篇文章中阅读:

以下内容被 ECMAScript 规范保留为未来的关键字。它们目前没有特殊功能,但将来可能会出现,因此它们不能用作标识符。这些关键字不能在严格模式或非严格模式下使用。

进一步解释为什么它在某些地方被视为保留关键字,而在某些地方却不是。 ECMAScript v3 规范确实包含 char 作为保留关键字,但 ECMAScript v5 规范(开始成为最常见的一个)不包含它。

【讨论】:

  • 指向所述保留字列表的链接不会受到伤害。 developer.mozilla.org/en/JavaScript/Reference/Reserved_Words
  • 我觉得有必要注意并不是所有的引擎都会真正关心使用 char。顺便说一句,我看到 v8、JägerMonkey 和 Carakan 在您运行 var char = 5; 之类的东西时根本不会抱怨,所以他们并没有真正将其视为保留字。来自 Java 的大量“未来保留词”在 ECMAScript 5 中被丢弃,所以我感觉 IE(尤其是 IE6/IE7)可能会抱怨 var char = 5,尽管我没有它的副本这台电脑来测试它。
  • 好吧,据我了解,我的 notepad++ 编辑器确实能识别 char 关键字,但 firefox 11 和 HTML 5 不能,所以他们表现得好像不认识这个词,就像 Reid说过。所以如果它没有任何用处,我会放开那个问题,并继续学习什么是有效的......
  • 请注意,char 会在 Google Closure Compiler 中引发错误。
【解决方案2】:

更新:

正如@HoLyVieR 指出并在下面的cmets 中显示的那样,char 关键字保留供将来使用。 See this link for more information(感谢@djmadscribbler)。


There is no reserved keyword char in JavaScript,你一定把它和reserved keyword char of Java instead混淆了。

【讨论】:

  • ECMAScript 3 保留了所有的 Java 保留字,并不是每个浏览器都将 ECMAScript 5 标准实现为 JavaScript。
  • 其实有en.wikibooks.org/wiki/JavaScript/Reserved_WordsHoLyVieR 说得对——它现在没有被积极使用,但它保留供将来使用
  • @djmadscribbler:感谢您提供的链接。用详细信息更新了答案:)
【解决方案3】:

根据 ECMAscript 文档(http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf 部分 7.6.1 ) char 根本不是保留字。

我猜如果你在某处看到它是一个保留字,那么它就是一个特定的实现。

http://jsfiddle.net/BCruP/

编辑:以上参考是 EMCAscript 5。

EMCAScript 3 (http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf) 文档将 char 列为未来的保留字,但是,EMCAScript 5 似乎已将其从列表中删除。

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 2011-09-04
    • 2010-11-25
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 2019-08-21
    • 2023-04-10
    • 2011-04-08
    相关资源
    最近更新 更多