如果函数有多个返回语句,javascript 的底层会发生啥?
Posted
技术标签:
【中文标题】如果函数有多个返回语句,javascript 的底层会发生啥?【英文标题】:What happen under the hood in javascript if function is having more than one return Statment?如果函数有多个返回语句,javascript 的底层会发生什么? 【发布时间】:2021-06-19 02:05:30 【问题描述】:在下面的代码中,我想知道引擎盖下发生了什么?
function data()
return 4;
return;
console.log(data()); // return 4
但是
function data()
return;
return 4;
console.log(data()); //return undefined
这背后的原因是什么?我可能认为其背后的原因是“javascript 是一种解释性语言”,但我不确定。
【问题讨论】:
只有块中的第一个return语句在没有执行之后才会被执行。 你了解return
的作用吗?为什么这意味着第二个会被忽略?
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…: “当在函数体中使用return语句时,函数的执行将停止。如果指定,则将给定值返回给函数调用者。”
我不认为“非常清楚”意味着你认为它的意思。
@ScottHunter “你一直在用那个词”。
【参考方案1】:
函数将返回第一个return
。
function data()
return ;
return 4;
console.log(data());
在上面带有第一个 return
的代码中,您没有返回任何参数/值,因此它保持未定义。
【讨论】:
以上是关于如果函数有多个返回语句,javascript 的底层会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript连载15-return函数声明方式差异化回调函数
javascript 编写一个函数,该函数接受一个字符串数组并返回该数组中最常出现的字符串。如果有多个字符串