目录
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优化代码
我们可以把代码的“理想情况”留到最后处理。这种写法可以让代码更清晰,逻辑更加直接。
- 每个条件只处理一次:每个
if
语句都提前处理好错误情况,让后面的代码不必考虑这些条件。- 代码结构更扁平:没有嵌套的
if-else
块,更加一目了然。- 更易维护:当我们想增加或修改判断逻辑时,只需在前面添加或修改条件判断,不会影响到“理想情况”的代码部分。
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替换吗? ”😎