[英]Javascript: How do you update a object value without changing your code?
我有一個對象值中的數字,我希望在代碼運行時動態更新。 因此,例如,如果數字的值是30,當我運行我的代碼時,我希望能夠更新這個數字來說.. 20,而我實際上不必進入代碼並親自將其更新為20。
如何編寫將更新此對象值的代碼? 我遇到的麻煩是一個定時器系統,它每1秒保持一次30的值,而不是在減去一些數字后分配給它的NEW值。
var count = character.energy; // My Energy level is 30
var counter = setInterval(timer, 1000);
function timer() {
count += characterstats.energyregen;
if (count >= 30){
clearInterval(counter);
}
document.getElementById("energy").innerHTML = count;
character.energy = count;
}
在計時器內移動count變量的聲明和初始化。
var counter = setInterval(timer, 1000);
function timer() {
var count = character.energy; // My Energy level is 30
count += characterstats.energyregen;
if (count >= 30){
clearInterval(counter);
}
document.getElementById("energy").innerHTML = count;
character.energy = count;
}
另一種方式,但可能不是您正在尋找的,使用本地存儲和/或cookie來存儲價值。 但是,根據變量信息的重要性或私密性,對此進行判斷。 我做了這個,並在存儲之前對其進行了加密。 我已將值存儲在localStorage中,然后在load事件期間更新對象,以獲取新值。 getter / setter類型函數是對象的一個屬性,因此每次運行腳本時它都會增加所需的值。 我通過將對象存儲為運行JSON的字符串來完成此操作。 如果您需要根據定時主題進行更新,那么邁克的回答是好的。 如果您只使用計時器,因為您不確定其他方法,請嘗試使用localStorage選項。 在某些情況下對我來說很有用。 快樂的編碼! :)
參考用於在HTML5 localStorage中存儲對象的好帖子:來自其他用戶的https://stackoverflow.com/a/2010948/2762516 !
抱歉! 我誤解了這個問題。 我想你想在每次代碼運行時更新,而不是在代碼運行時更新。 我道歉:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.