`java`是JavaScript中的保留关键字吗?

时间:2014-04-07 13:12:18

标签: javascript reserved-words

我注意到有几个JavaScript IDE(例如Sublime)显示单词java,其语法突出显示为保留关键字。

旧版本的Firefox也存在一个名为java的函数的问题。

function java() {
    alert("This function can not be called");
}

这实际上是关键字吗?如果是的话是什么?

3 个答案:

答案 0 :(得分:4)

嗯,它实际上不是Java关键字,因为除了借用名称之外,Javascript与Java没有任何关系。

保留这些名称是为了在将来扩展该语言时需要它们。来自ECMAScript Language Specification

The following words are used as keywords in proposed extensions and are therefore reserved to allow for the possibility of future adoption of those extensions...

<强> http://www.javascripter.net/faq/reserved.htm

答案 1 :(得分:4)

最终答案是它不是保留关键字,您应该安全地使用java作为变量名称。

但正如http://www.javascripter.net/faq/reserved.htm所述,它指出java应该是保留字的词之一。而且我相信他所指的推理也是Java Applet整合。

很难在网上找到这方面的参考资料,因为该技术在很大程度上已被弃用。看起来直到 Firefox 16 Mozilla包括Packagesjavanetscape全局(请参阅2.1.5 Deprecated Functionality: the Global Packages, java and netscape Keywords

我可以找到的唯一内容在Mozilla的LiveConnect Documentation中被引用,您可以在Java in Firefox Extensions中看到第一个注释

  

注意: 在Gecko 16.0中删除了全局java对象,因此该页面已过期

然后是示例代码块:

var aJavaList = new java.util.LinkedList();

所以基本上在Mozilla弃用全局java对象(可能还有applet在页面上?)之前,这可能是一个问题。

答案 2 :(得分:2)

根据这个:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words

不,这不是保留字。

在浏览器控制台中执行和运行您的功能确认了这一点。