在这个函数中,我需要创建一个名为“dorfX”的新变量。 X是变量进入的数组的长度。例如,这将生成一个名为“dorf5”的变量,其参数在“makeADorf”函数中指定。但是,它不想工作,因为未识别变量的名称。
据我所知,要么我需要以某种方式重命名变量,要么弄清楚如何使这项工作。
这可能有一个简单的答案,但我对编程很新,如果能得到一些帮助,我将非常感激。感谢。
function guildRecruit(){
var price = Math.floor((Math.random()*100)+1) + (dorves.length*50);
var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
if(recruit == "yes"){
var dorf(dorves.length) = new makeADorf("Testificate","123");
dorf(dorves.length).push(dorf(dorves.length));
}else{
confirm("Thank you for visiting the Dragon Slayer Guild.");
}
}
答案 0 :(得分:0)
我认为您对如何设置代码感到有些困惑。根据你写的内容猜测,看起来你想要一个函数:
要执行此操作,您可能希望在函数外部创建一个数组。我将数组称为冒险者"。如果制作新dorf的条件是真的,那么你将新的dorf推向冒险者"阵列。这样的事情(注意:我删除了任何使用dorves的代码):
var adventurers = []; // new Array(); would do the same thing, read Jan Dvorak's comment
function guildRecruit() {
var price = Math.floor((Math.random()*100)+1);
var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
if (recruit == "yes") adventurers.push(new makeADorf("Testificate","123"));
else confirm("Thank you for visiting the Dragon Slayer Guild.");
}
编辑:我无法想到使用数字创建变量会很有用的情况。我也相当肯定不可能这样做。数组的要点是使用与此类似的逻辑,但您的宿舍将被引用为adventurers[0]
而不是adventurers(someFunction)
。