gpt4 book ai didi

javascript - 为什么我的函数返回未定义? JS

转载 作者:行者123 更新时间:2023-12-01 01:37:48 25 4
gpt4 key购买 nike

当涉及到 javascript 时,我有点菜鸟,但我似乎找不到返回“未定义”的原因

mineOre(userData.pickaxe, playerData.questid);

var newOre = new function () {
var chance = Math.floor(Math.random() * 100);
//console.log(chance);
/*
20% Iron
30% Coal
5% Diamond
3% Emerald
1% Brandons Hair
41% Stone
*/
if (chance < 20) {
return "Iron";
} else if (chance < 50) {
return "Coal";
} else if (chance < 55) {
return "Diamond";
} else if (chance < 58) {
return "Emerald";
} else if (chance < 59) {
return "BrandonsHair";
} else return "Stone";
}


function mineOre(pickaxe, questid) {
console.log(newOre);
}

最佳答案

您在变量 newOre 初始化之前调用 mineOre()。如果将 mineOre() 调用移至初始化之后,那么您将看到 newOre 是一个空对象。它是一个对象,而不是这些字符串之一,因为您的代码使用 new 调用该匿名函数。

如果您希望 newOre 成为这些字符串之一,请删除 new 并在结束 } 后添加括号功能:

 var newOre = function () {
var chance = Math.floor(Math.random() * 100);
//console.log(chance);
/*
20% Iron
30% Coal
5% Diamond
3% Emerald
1% Brandons Hair
41% Stone
*/
if (chance < 20) {
return "Iron";
} else if (chance < 50) {
return "Coal";
} else if (chance < 55) {
return "Diamond";
} else if (chance < 58) {
return "Emerald";
} else if (chance < 59) {
return "BrandonsHair";
} else return "Stone";
}();

关于javascript - 为什么我的函数返回未定义? JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com