今天做一个功能,发现函数return的数据并没有返回,经过尝试发现,js的for循环中的return除了会结束循环,也会终止循环外后续代码的执行,如下面的例子

function get123() {
   for (let i = 0; i <=4; i++) {
        if (i === 4) return;
    console.log(123); 
get123();
// undefined

例子中的123并没有被打印,不过把return换成break就没问题了

function get123() {
   for (let i = 0; i <=4; i++) {
        if (i === 4) break;
    console.log(123); 
get123();
// 123

被这么一个小问题困扰了好一会儿,基础知识太不扎实了,写个文章记录一下

在for 循环 使用 return 0语句,意味着当 程序 执行 到该语句时,立即退出当前函数,并返回值0。通常情况下,我们 在main函数 使用 return 0语句,以表示 程序 正常 结束 。虽然在某些情况下,在for 循环 使用 return 语句可能是可以工作的,但这通常不是一个良好的编程实践,因为它可能。在大多数情况下,我们应该避免在 循环 使用 return 语句,而应该使用break语句来提前 结束 循环 。但是,如果在for 循环 使用 return 0语句,则 导致该 循环 提前 结束 ,从而可能。在大多数情况下,推荐使用。 var jb51cp = [ {id:66666,Cpurl:"https://baidu.com"}, {id:55555,Cpurl:"https://www.jb51.net"} for(var i = 0; i < jb51cp.length; i++){ if(jb51cp[i].id==Tid){ var thevalue=jb51cp[i].Cpurl; break; alert(thevalue); 如何在jquery 循环 终止 本次 循环 或者跳出 循环 呢?查些资料,并且试验过发现下面方法可以 1、for 循环 我们使用continue; 终止 本次 循环 计入下一个 循环 ,使用break 终止 整个 循环 。 2、而在jquery $.each则对应的使用 return true 和 return false。 break可以跳出switch…case语句,继续 执行 switch语句后面的内容。break语句还可以跳出 循环 ,也就是 结束 循环 语句的 执行 。 continue语句的作用为 结束 本次 循环 ,接着进行下一次是否 执行 循环 的判断。 continue与break的区别是:break是彻底 结束 循环 ,而continue是 上一篇文章写了使用Promise进行异步操作:使用Promise来进行异步操作。 这适用于单条数据的处理场景,如果是在for 循环 处理多条数据,依次处理每条数据的异步操作呢? 思路:还是利用Promise的then()来进行链式操作,每次 循环 的时候往Promise后添加一个新的then(),这样就可以保证上一个数据的异步操作 执行 完毕再 执行 下一个数据的异步操作。 示例 代码 : const promise = Promise.resolve(); for(let index in newArray){ promise = promise.then(()=>{ return asyncOp 有时候要对响应一堆相似的事件,但是每个事件的参数都不同,一开始还以为挺简单的,用个for 循环 不就得了,结果发现,额,都是使用了最后一个参数。。。 上网查资料!!!结果大神说用闭包解决 代码 代码 如下: for(var i=0;i<10;i++){ btns[i].onclick=(function(i){ return function(){alert(i)} })(i) } 大概原因是 直接 用btns[i].onclick=function(){alert(i)}时, JavaScript 引擎 先将for 循环 里的 代码 执行 完, 当用户出发onclick事件时, JavaScript 寻找i,结 一、关于 return return 语句的作用是指定函数返回的指。 return 语句只能出现在函数体内,出现在 代码 的其他任何地方都 造成语法错误!用 return 语句来 终止 一个函数的 执行 。如果 return 后面不返回值,则把值undefined赋给调用当前函数的表达式。 return 语句一般用法: 1.返回函数结果: return a; 2.阻止默认事件或者阻止往下 执行 : return fa... 一次项目 使用forEach进行遍历,达到某一条件,希望跳出 循环 代码 不继续 执行 。 this.tableData.forEach((item, index)=>{ if (item.value=== 1) { return forEach遍历并不能被 终止 被继续 执行 。 <script> let a=[1,2,3]; let b=[4,5,6,7,8]; function test(){ for(var i=0;i<a.           【 JS -task4】 return 的用法是什么?若用在for 循环 ,还 执行 下一次 循环 吗?              分享人:陈星宇                               目录              1.背景介绍              2.知识剖析              3.常见问题              4.解决... foreach 里使用 return 好像不起作用 就算满足了条件还是 继续 执行 return 后得 代码 据说for 循环 这里没做尝试。使用foreach 搭配 return 加个flag就好了。 (1) return 语句在函数 起到 终止 代码 执行 的作用,并返回一个确定的值,后面语句不在 执行 , 到 return 结束 了。(4)如果需要从被调用函数 带回一个函数值,被调用函数 必须包括 return 语句,否则 报错。(2) return 0 代表函数正常 终止 return 1代表函数非正常 终止 。(5)如果不需要从被调用函数 带回函数值,则可以不用 return 语句。(3)函数返回值是通过函数 return 语句获得的。 return (表达式);都是正确的,为了简明,一般也不写。