工作中有时候用到 return; ,有时候用到 return false; 还有时候会用到 return true;
这三个到底是什么区别?为什么一会这个一会又那个!
1、先看下return 定义
MDN 中 这样定义 return(Generator.prototype.return() ),
定义:return
()
方法返回给定的值并结束生成器。
重点:返回1个值,结束生成器。
2、对比区别
跟着定义过来对比,就ok 了。
相同点:都会结束生成器(只结束当前的函数)
区别:当然是返回值不一样
return;没有定义返回值,就返回 undefined,合情合理反正你没定义嘛;
return false:返回定义的false;
return true;返回定义的true;
当然也可以有其他的返回值,具体要看当前函数的作用是什么了!
3、测试用例
let a = ()=>{ return; console.log("程序中断没执行"); } let b = ()=>{ return false; console.log("程序中断没执行"); }; let c = ()=>{ return true; console.log("程序中断没执行"); }; function test(){ console.log("------------------------------------") a(); let aa= a(); console.log("直接return;无中断,并返回:" + aa); console.log("------------------------------------") b(); let bb= b(); console.log("return false;无中断,并返回:" + bb); console.log("------------------------------------") c(); let cc= c(); console.log("进入return true;无中断,并返回:" + cc); console.log("------------------------------------") }; test();
4、总结
眼见为实,就是返回值不一样,其他真没有区别
以上内容纯属个人理解,如有争议,尽快评论指出,以便及时修正!