Gov*_*iya 4 javascript google-closure-compiler
我试图在谷歌闭包编译器中编译我的Js代码,我在这段代码上收到错误
var settings = {
providers: ['A', 'B', 'C'],
interface: 'basic16',
apikey: 'XXXXX-XXXXX-XXXXX-XXXXXXXXXX'
}
Run Code Online (Sandbox Code Playgroud)
错误是
JSC_PARSE_ERROR: Parse error. invalid property id at line 3 character 10
interface: 'basic16',
^
JSC_PARSE_ERROR: Parse error. syntax error at line 3 character 11
interface: 'basic16',
^
JSC_PARSE_ERROR: Parse error. syntax error at line 4 character 8
apikey: 'XXXXX-XXXXX-XXXXX-XXXXXXXXXX'
^
Run Code Online (Sandbox Code Playgroud)
但是这个代码在任何浏览器中都适用于我(chrome,firefox,opera,safari,IE7,8,9)
MDN声明该关键字interface保留供将来使用,不得用于属性/函数/变量名称.
https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words
事实是,MDN还声明此关键字的使用仅在严格模式下受到限制.因此,即使在非严格模式下,当我抱怨这个时,我也不太确定闭包编译器是否正在做正确的事情.这看起来更像是一个bug,但最好还是避免使用这些关键字.
但是,解决方案是简单地将标识符包装在引号中:
var settings = {
providers: ['A', 'B', 'C'],
'interface': 'basic16',
apikey: 'XXXXX-XXXXX-XXXXX-XXXXXXXXXX'
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
930 次 |
| 最近记录: |