js中return 、return false 、return true、break、continue区别

在开发中不熟悉这三者区别的同学,一般都知道return可以中止,但会根据字面意思觉得return true 中止当前函数执行,但其后的函数还会继续执行。return false 中止当前函数执行,其后的函数不会执行,这是错误的想法。先看下面控制台的例子

一:可以看出三者都中止了函数执行,return后的语句不再执行,唯一区别是函数的返回值不同。

二:return只是中止当前函数,与其后的函数没有关系,

可见return只是中止当前函数对其后函数没有影响

三:对于函数中的for循环里的return,也会中止函数,多层循环也立即中止。

1、return 只在当前函数有效
2、return无论返回的是啥,都有中断当前线程的作用。

总之,return都会阻止当前函数,并返回一个值

鉴于上述,有的同学可能只是想跳出循环,并不想中止函数。

跳出循环:break,continue,只是跳出循环,并不中止函数

break只可用于跳出最近的for循环,

对于break跳出多层循环,需要给循环指定命名

continue同样适用此法跳出多层循环

特别注意:break,continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内

原文地址:https://www.cnblogs.com/caofeng11/p/10318137.html

时间: 2024-08-21 09:43:33

js中return 、return false 、return true、break、continue区别的相关文章

浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

var num = 1;    var str = '1';    var test = 1;    test == num  //true 相同类型 相同值    test === num //true 相同类型 相同值    test !== num //false test与num类型相同,其值也相同, 非运算肯定是false    num == str  //true 把str转换为数字,检查其是否相等.    num != str  //false == 的 非运算    num ==

JS中undefined、null以及NaN之间的区别,以及对象属性赋值的面试题

(1)以下三种情况typeof 返回类型为undefined --当变量未初始化时 --变量未定义时 --函数无明确返回值时(函数没有返回值时返回的都是undefined) (2)Null 类型 undefined 是由null派生处理的,因此undefined == null undefined 是声明了但是没有初始化的该变量, null表示尚未存在的对象 . (3)NaN 值 是一个特殊值,表示非数(Not a Number),类型转换失败就会返回NaN --NaN 不等于自己,即 NaN

js中创建函数的三种方式及区别

1.函数声明 function sum1(n1,n2){ return n1+n2; }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){ return n1+n2; }; 两者的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问:而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行. 自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,

js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现

先说a + 1 < a 1 const a = { 2 i: 1, 3 valueOf: () => { 4 if (a.i === 1) { 5 return a.i++; 6 } 7 return a.i+2; 8 } 9 } 10 console.log(a + 1 < a); // true 原理:valueOf第一次返回一个值,取过一次之后返回另一个值,这里用个变量判断也行,如下: 1 let flag = true; 2 const a = { 3 i: 1, 4 value

js中判断为false的情况

 document.write((new Boolean())+"<br />");        document.write((new Boolean(""))+"<br />");        document.write((new Boolean(0))+"<br />");        document.write((new Boolean(-0))+"<br

js中逻辑为false的8种情况

如果对象无初始值或者其值为 0.-0.null."".false.undefined 或者 NaN,那么对象的逻辑值为 false. typeof 返回的是字符串,有六种可能:"number"."string"."boolean"."object"."function"."undefined"

JS 中document.URL 和 window.location.href 的区别

实际上,document 和 window 这两个对象的区别已经包含了这个问题的答案. document 表示的是一个文档对象,window 表示一个窗口对象. 一个窗口下面可以有很多的document对象.每个document 都有 一个URL. 但是,这不是所有的区别.当你ctrl + F5 一个链接 http://yourhost.com/#fragment 打印 alert(document.URL ); 和 alert(window.location.href); 发现,这两个的值不一

JS中some(),every(),fiflter(),map()各种循环的区别理解

1.some():返回一个Boolean,判断是否有元素符合func条件const arr = [1,2,3,4]; arr.some((item)=>{return item>1}) 打印结果: true 2.every():返回一个Boolean,判断每个元素是否符合func条件const arr1 = [1,2,3,4]; arr.every((item)=>{return item>3});打印结果:false 3.filter():返回一个符合func条件的元素数组 le

JS中,!=, !== 和 !的区别和使用场景

var num = 1; var str = '1'; var test = 1; test == num   //true 相同类型 相同值 test === num  //true 相同类型 相同值 test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false num == str   //true 把str转换为数字,检查其是否相等. num != str   //false  == 的 非运算 num === str  //false  类型

js中的apply与call的用法与区别

call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受参数的方式不太一样. 方法定义applyFunction.apply(obj,args)方法能接收两个参数: obj:这个对象将代替Function类里this对象 args:这个是数组或类数组,apply方法把这个集合中的元素作为参数传递给被调用的函数. call call方法与apply方法的第一个参