我有一个document['key']
,我在我的代码中的其他地方定义。基本上是客户端在html <script></script>
标记中设置的API密钥,如下所示。
<script type="text/javascript">
(function(){
document.clientKey = 'a uuid unique to client';
})();
</script>
我通过document['clientKey']
在我的javascript文件中调用了此密钥,它工作正常,直到我将其传递给闭包,将其重命名为document.I
。我可以强制关闭以保持字符串'clientKey'
答案 0 :(得分:1)
Understanding the Restrictions Imposed by the Closure Compiler
中介绍了这一点使用字符串名称来引用对象属性:
编译器在高级模式下重命名属性,但它永远不会重命名字符串。 如果需要引用带引号字符串的属性,请始终使用带引号的字符串
var x = { 'unrenamed_property': 1 };
x['unrenamed_property']; // This is OK.
if ( 'unrenamed_property' in x ) {}; // This is OK