JavaScript中的return你了解多少?

发布于:2025-02-10 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

1、 js中对于return用法的三种情况的总结如下:

2、return的特点😜

3、return用法

4、return:清晰与高效的代码编写方式 💻

5、何时使用return


1、 js中对于return用法的三种情况的总结如下:

retrun true   返回正确的处理结果。

return false  返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为。

return           把控制权返回给页面,不带返回值的return语句 随时终止函数的执行。

每个函数都会返回一个值,没有使用return,或者使用了return但return后面没跟值时,函数都将返回undefined

如果需要返回undefined以外的值,必须使用return,并指明返回的值

return:在遇到异常情况或不符合条件时,立即返回并结束函数。

return false 相当于执行了下面三步:

event.preventDefault();

event.stopPropagation() 停止函数执行并返回, 用来停止事件冒泡

event.preventDefault() 用来阻止浏览器的默认行为,

所以通常会有人用 return false 来阻止浏览器的默认行为(点击a链接跳转,点击submit 按钮提交表单等),其实是使用了event.preventDefault() 的功能。

所以,当你只是想阻止浏览器默认行为时,尽量使用event.preventDefault(),而不是return false。

2、return的特点😜

1. return只会出现在函数体中

2. 函数中如果存在循环语句,循环语句中可以使用return

3. return与break跳出循环机制不同,break只会跳出单层循环,return不管几层循环都会跳出,即终止循环,终止函数执行

4. return后面可以跟着基础数据类型,或者引用数据类型,或者函数,或者什么也不写

3、return用法

1. 比如你触发点击一个链接,同时a标签会触发默认的页面的跳转,你不想跳转,

使用return false (取消默认动作)

<a type='submit' onClick='return false' /> // 阻止a标签跳转

<a href="http://www.baidu.com" @click.prevent="stopbaidu()">go</a> // 阻止a标签跳转到百度

<a href="http://www.qq.com" onclick=" return stopqq()">stop</a> // 阻止a标签跳转到qq
<html>
<head>
<script type="text/javascript">
	function add() {
		var name = document.getElementById("name");
		if (name.value.length < 2) {
			alert("请输入正确的用户名");
			return false;
		}
		return true;
	}
</script>
</head>

<body>
	<form action="test.jsp" onsubmit="return add()">
		添加用户:<input type="text" name="name"><input type="submit" value="提交">
	</form>
</body>
</html>

// 注意:这个输入框没有输入任何内容,点击提交按钮,此时弹出提示框,但,页面竟然提交了:onsubmit 这个方法是在提交表单时产生的,也就是先提交表单后调用方法。【把按钮换成button类型的,再使用onclick()就好了: 
// 法1:改用代码:
    <input type="button" value="提交" onclick="add()">
	function add() {
		var name = document.getElementById("name");

		if (name.value.length < 2) {
			alert("请输入正确的用户名");
			return;
		}
		var userForm = document.getElementById("userForm");
		userForm.action = "test.jsp";
		userForm.submit();
	}


】

4、return:清晰与高效的代码编写方式 💻

我在编写代码时的有时候的写法:

function getData(params) {
  if (params.isActive) {
    if (params.count !== '') {
      return `符合 ${params.name}!`;
    } else {
      return `${params.name} 不符合xxx。`;
    }
  } else {
    return `用户 ${params.name} 已被停用。`;
  }
}

嵌套了多个 if-else 语句。如果我们继续在这种风格的代码上添加更多条件判断,会变得更加难以阅读和维护。过多的嵌套让人一眼难以理清逻辑

用return优化代码

我们可以把代码的“理想情况”留到最后处理。这种写法可以让代码更清晰,逻辑更加直接。

  1. 每个条件只处理一次:每个 if 语句都提前处理好错误情况,让后面的代码不必考虑这些条件。
  2. 代码结构更扁平:没有嵌套的 if-else 块,更加一目了然。
  3. 更易维护:当我们想增加或修改判断逻辑时,只需在前面添加或修改条件判断,不会影响到“理想情况”的代码部分。
function getData(params) {
  if (!params.isActive) {
      return `用户 ${params.name} 已被停用。`;
  }

  if (!params.count !== '') {
      return `${params.name} 不符合xxx。`;

  }

  return `符合 ${params.name}!`;

  
}

5、何时使用return

虽然提前return是优化代码的好方式,但并不是所有情况下都适用。以下是一些适用场景:

  • 多条件判断:需要检查多个条件时,尤其是多个边界条件。
  • 简单条件过滤:对于不符合条件的情况可以快速返回,避免执行复杂逻辑。
  • 确保主要逻辑代码始终位于底部:这样可以减少逻辑处理的复杂性。

下次写代码时,记得问自己一句:“这个 if-else 可以用return替换吗? ”😎