具有多个返回语句的函数返回什么
What does a function with multiple return statements return?
这是来自Head First JavaScript Programming一书的练习。
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];
我不会编写所有代码,基本上雪佛兰、出租车等都是对象,函数被分配了四个对象之一,并且该值在本练习中被赋予一个变量。我的问题是发生了什么:
return -1;
那么函数完成时不会返回吗?还是在以下情况下否定
return i;
发生?还是两个值都返回?有人可以为我可怜的大脑解决这个问题,并告诉我这里的规则是什么。
根据它命中的返回,这将是它返回的唯一内容
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];
对我来说,这个函数看起来像,如果你调用它,它将遍历汽车数组,如果它在数组中找到所说的汽车,它将返回该汽车的索引。
如果在数组中找不到汽车,它将返回-1
这意味着汽车没有索引,因此它不在数组中。
所以,如果我们有
var lot = [chevy, taxi, fiat1, fiat2];
我们奔跑
console.log(findCarInLot("fiat1")); // This will return 2 (Third element of the array)
这是从 if 语句中的return i
返回的,您将永远不会看到return -1
但如果我们这样做
console.log(findCarInLot("lamadamadingdong")); // This will return -1 as it was never found in the array of cars
希望这有帮助。
相关文章:
- 使用返回函数sinde.attr()jquery元素
- 从自执行函数返回函数的Javascript性能命中率
- Node Express Handlebars帮助程序未返回函数的结果
- 未在Firefox中执行PageMethod的返回函数
- 对返回函数的函数感到困惑
- 从承诺返回不返回函数会导致警告
- 从函数返回函数而不调用返回的函数
- Javascript,闭包中的返回函数如何与外部函数连接
- 为什么Coderbyte.com's的Javascript模板喜欢返回函数的原始参数
- 对象函数返回函数而不是值
- 从外部函数(数组)了解返回函数(x)
- 从Javascript类对象返回函数
- 调用Typescript setter don't返回函数,尽管关联的getter可以工作
- 使用依赖注入在 JavaScript 中返回函数
- 通过单击JSP和javascript加载两个返回函数
- 需要说明:无法理解返回函数的javascript
- 简单的onClick返回函数不起作用
- 为什么这个闭包返回函数
- JS函数返回函数供以后使用-未定义参数
- Coffeescription类中的方法返回函数而不是字符串