[英]Prevent closure to from renaming object keys
我有一個要在代碼其他地方定義的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'
了解封閉編譯器施加的限制中對此進行了介紹。
使用字符串名稱來引用對象屬性:
編譯器在“高級”模式下重命名屬性,但從不重命名字符串。 如果需要用帶引號的字符串引用屬性,請始終使用帶引號的字符串
var x = { 'unrenamed_property': 1 };
x['unrenamed_property']; // This is OK.
if ( 'unrenamed_property' in x ) {}; // This is OK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.