我注意到有几个JavaScript IDE(例如Sublime)显示单词java
,其语法突出显示为保留关键字。
旧版本的Firefox也存在一个名为java的函数的问题。
function java() {
alert("This function can not be called");
}
这实际上是关键字吗?如果是的话是什么?
答案 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...
答案 1 :(得分:4)
最终答案是它不是保留关键字,您应该安全地使用java
作为变量名称。
但正如http://www.javascripter.net/faq/reserved.htm所述,它指出java
是应该是保留字的词之一。而且我相信他所指的推理也是Java Applet整合。
很难在网上找到这方面的参考资料,因为该技术在很大程度上已被弃用。看起来直到 Firefox 16 Mozilla包括Packages
,java
和netscape
的全局(请参阅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
不,这不是保留字。
在浏览器控制台中执行和运行您的功能确认了这一点。