簡體   English   中英

在函數javascript中聲明全局const

[英]Declare a global const in a function javascript

我想創建一個全局const變量,該變量需要在超時的回調中聲明。 腳本是這樣的:

setTimeout(() => {
    const hourandminute = new HourAndMinute();
}, 1000);

這將創建一個新的const變量,但它僅存在於回調中。 如何在不進行以下操作的情況下將其全局化?

let hourandminute;

setTimeout(() => {
        hourandminute = new HourAndMinute();
}, 1000);

如果我的評論未引起注意,這是一種可能滿足您的要求的模式:請注意,無法重新分配JS常量,但是如果它的值是可變的(如對象),則仍然可以更改它,請看以下示例:

 const hourandminute = {}; setTimeout(() => { hourandminute.prop1 = 'FOO'; hourandminute.prop2 = 'BAR'; }, 500); setTimeout(() => { console.log(hourandminute); }, 1000); 

 setTimeout(() => { Object.defineProperty(window, "hourandminute", { enumerable: false, configurable: false, writable: false, value: new HourAndMinute() }) }, 1000) 

這與您的需求有些不同,但這可能是唯一的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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