gpt4 book ai didi

Javascript - 为什么有时使用 return 时它是 "undefined"?

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

下面的代码有效:

var myArray = [];
function myFunc(){
var randomNumber = Math.floor(Math.random() * 4);
if(myArray.indexOf(randomNumber) == -1){
myArray.push(randomNumber);
console.log(randomNumber); //; didn't use return
} else {
myFunc();
}
}
for(let i=0; i<4; i++){
myFunc();
}

虽然下面没有,但两者几乎相同,只是下面使用了“return”。

var myArray = [];
function myFunc(){
var randomNumber = Math.floor(Math.random() * 4);
if(myArray.indexOf(randomNumber) == -1){
myArray.push(randomNumber);
return randomNumber; // using return
} else {
myFunc();
}
}
for(let i=0; i<4; i++){
console.log(myFunc());
}

结果可能与随机数不一样,请尝试刷新多次。

我想使用 return 以便将值保存到函数中。

谢谢大家。

最佳答案

它返回undefined,因为当myArray.indexOf(randomNumber) != -1时,您没有返回任何内容。尝试:

function myFunc(){
var randomNumber = Math.floor(Math.random() * 4);
if(myArray.indexOf(randomNumber) == -1){
myArray.push(randomNumber);
return randomNumber; // using return
} else {
return myFunc();
}
}

关于Javascript - 为什么有时使用 return 时它是 "undefined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46881444/

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