簡體   English   中英

防止閉包重命名對象鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM