簡體   English   中英

如何在本地范圍內重新定義對象變量

[英]How to redefine object variable in local scope

如何在本地重新定義對象變量? 對於普通變量,我將在函數內部使用let ,但let似乎不適用於對象變量。 有辦法嗎?

下面的代碼顯示,我可以使用options.soundFileName = 'audio/60.wav';來全局重新定義變量options.soundFileName = 'audio/60.wav'; 但是如果我使用let options.soundFileName = 'audio/60.wav';

 var options = { soundFileName: 'audio/01.wav', }; (function masterStart() { setInterval(function () { console.log('sound name global: ' + options.soundFileName) }, 1000); }()); A(); function A() { options.soundFileName = 'audio/60.wav'; // redefines sound file but globally // how can i redefinie it only within `A()`? } /* B(); function B() { let options.soundFileName = 'audio/60.wav'; // doesn't work at all } */ 

沒有局部屬性,只有局部變量。

如果要臨時更改對象屬性,請將舊值保存在局部變量中:

function A() {
    let oldFileName = options.soundFileName;
    options.soundFileName = 'audio/60.wav';
    // do stuff
    // ...
    options.soundFileName = oldFileName;
}

暫無
暫無

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

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