Javascript 函数不';不要更新新的贵重物品

Javascript 函数不';不要更新新的贵重物品,javascript,arrays,function,variables,prompt,Javascript,Arrays,Function,Variables,Prompt,我对javascript还不太熟悉,所以我对一些东西很感兴趣。问题是,以下代码中的提示符永远不会更新为实际的贵重物品,而“console.log”由于某些原因会更新。我真的很想知道为什么会发生这种情况,以及是否有任何方法可以让它工作,这样提示符就会像“console.log”一样更新。我试图在代码中稍微移动变量的位置,但由于我不是专家,我不确定变量的位置是否正确 非常感谢您的帮助,如果有不清楚的地方请告诉我 var alive = true; var destinationArray =

我对javascript还不太熟悉,所以我对一些东西很感兴趣。问题是,以下代码中的提示符永远不会更新为实际的贵重物品,而“console.log”由于某些原因会更新。我真的很想知道为什么会发生这种情况,以及是否有任何方法可以让它工作,这样提示符就会像“console.log”一样更新。我试图在代码中稍微移动变量的位置,但由于我不是专家,我不确定变量的位置是否正确

非常感谢您的帮助,如果有不清楚的地方请告诉我

var alive = true;    
var destinationArray = ["town ", "areas ", "bosses"];
var destinationArraySet = 1;
var allDestination = destinationArray.slice(0, destinationArraySet).join(' ').trim();
var userDestinationPrompt = ("Where would you like to go? Available places: \n" + allDestination +".");

var userDestination = function () {
    allDestination = destinationArray.slice(0, destinationArraySet).join(' ').trim();
    console.log(allDestination);
    userDestinationAnswer = prompt(userDestinationPrompt).toUpperCase();
    destinationArraySet++;
};

while (alive) {
    userDestination();
}
“userDestination”是一个新函数

并且在调用函数之前设置了“userDestinationPrompt”的值

函数中的设置值将解决您的问题

var userDestination = function () {
    allDestination = destinationArray.slice(0, destinationArraySet).join(' ').trim();
    console.log(allDestination);
    var userDestinationPrompt = ("Where would you like to go? Available places: \n" + allDestination +".");
    userDestinationAnswer = prompt(userDestinationPrompt).toUpperCase();
    destinationArraySet++;
};

userDestinationPrompt
在这里是常量:当
allDestination
更改时,它不会被更新。。。你应该使用一个函数。我记得以前这样做过,但我不喜欢它,如果我想更改提示,我必须完全搜索它,所以我将它设置为函数之外的变量。但我不知道,除非整个提示符本身得到更新,否则“allDestination”不会在提示符内部得到更新。至少我现在知道它是如何工作的了,谢谢你的回答:)。