具有多个 return 语句 return 的函数有什么作用?
What does a function with multiple return statements return?
这是 Head First JavaScript 编程书的练习。
function findCarInLot(car) {
for (var i = 0; i < lot.length; i++) {
if (car === lot[i]) {
return i;
}
}
return -1;
}
var lot = [chevy, taxi, fiat1, fiat2];
我不会编写所有代码,基本上 chevy、taxi 等都是对象,函数被分配给四个对象之一,并且在本练习中该值被赋予一个变量。我的问题是发生了什么:
return -1;
那么函数完成时不会返回吗?还是在
时取反
return i;
会发生吗?还是两个值都返回?谁能帮我解决这个问题并告诉我这里的规则是什么。
根据它命中的 return,那将是唯一的 returns
function findCarInLot(car) {
for (var i = 0; i < lot.length; i++) {
if (car === lot[i]) {
return i; // If this if statement is true I will return here and this function will end and I will never make it to the next return
}
}
return -1; // This will only get called if the above if statement is false
}
var lot = [chevy, taxi, fiat1, fiat2];
对我来说这个函数看起来像,如果你调用它,它会循环遍历汽车数组,如果它在数组中找到所说的汽车,它会 return 那辆车的索引。
如果在数组中找不到汽车,它将 return -1
意味着汽车没有索引,因此它不在数组中。
所以,如果我们有
var lot = [chevy, taxi, fiat1, fiat2];
我们运行
console.log(findCarInLot("fiat1")); // This will return 2 (Third element of the array)
这是从 if 语句中的 return i
中 return 编辑的,您永远不会看到 return -1
但如果我们这样做
console.log(findCarInLot("lamadamadingdong")); // This will return -1 as it was never found in the array of cars
希望对您有所帮助。
这是 Head First JavaScript 编程书的练习。
function findCarInLot(car) {
for (var i = 0; i < lot.length; i++) {
if (car === lot[i]) {
return i;
}
}
return -1;
}
var lot = [chevy, taxi, fiat1, fiat2];
我不会编写所有代码,基本上 chevy、taxi 等都是对象,函数被分配给四个对象之一,并且在本练习中该值被赋予一个变量。我的问题是发生了什么:
return -1;
那么函数完成时不会返回吗?还是在
时取反 return i;
会发生吗?还是两个值都返回?谁能帮我解决这个问题并告诉我这里的规则是什么。
根据它命中的 return,那将是唯一的 returns
function findCarInLot(car) {
for (var i = 0; i < lot.length; i++) {
if (car === lot[i]) {
return i; // If this if statement is true I will return here and this function will end and I will never make it to the next return
}
}
return -1; // This will only get called if the above if statement is false
}
var lot = [chevy, taxi, fiat1, fiat2];
对我来说这个函数看起来像,如果你调用它,它会循环遍历汽车数组,如果它在数组中找到所说的汽车,它会 return 那辆车的索引。
如果在数组中找不到汽车,它将 return -1
意味着汽车没有索引,因此它不在数组中。
所以,如果我们有
var lot = [chevy, taxi, fiat1, fiat2];
我们运行
console.log(findCarInLot("fiat1")); // This will return 2 (Third element of the array)
这是从 if 语句中的 return i
中 return 编辑的,您永远不会看到 return -1
但如果我们这样做
console.log(findCarInLot("lamadamadingdong")); // This will return -1 as it was never found in the array of cars
希望对您有所帮助。