关于JavaScript中return的使用情况
关于JavaScript中return的使用情况
- return的理解
- return的使用
- 注意点
return的理解
return;语句会终止函数的执行,并赋值给函数的结果,将其返回。
return;也可以理解为‘函数执行的结果’就是return后面紧跟着的值。
return的使用
ex1:function back(){return true;}back();//无结果,因为要输出才能看到结果console.log( back() );//result == true ex2:function back(){if( 1==true ){return false; ①}return true; ②}console.log( back());//result == false//因为代码从上至下运行,当if判断为真,进入内部执行①,则会立即终止函数,并返回falseex3:var arr = [6, 8, 10, 12];//这里我们利用map方法对数组里面的每一个值都*2var newArr = arr.map(function(x){//这里的x就代表数组里面的每一个值,每执行一次function函数就会调用一个数组的新的值x = x*2;//这样就把数组每个值都*2return x;//这样arr.map的结果就是x,它会将每一个值装入一个新的数组,我们再cl一下arr.map就可以得到新的数组console.log(11);//不会输出})console.log( newArr );//这里我们将新的数组进行输出 [12,16,20,24]//这样的好处就是,就不需要手动的去遍历,然后再装入新的数组#这里有个问题,为什么return不会终止他的遍历呢?答:因为map方法使每一个数组的元素都调用一次function(x)函数,所以return是终止了这个函数了的。只是这个函数一直重复调用,一共调用了数组.length次ex4://现在我要对满足条件的数组元素进行条件改变,把2的倍数的元素-1,不满足条件的元素不变。var arr = [1, 4, 8, 9];var newArr = arr.map( function(x){//现在我要对满足条件的数组元素进行条件改变,把2的倍数的元素-1if( !(x%2) ){x = x - 1;}})console.log( newArr );// [undefined, undefined, undefined, undefined]#为什么会是这个结果呢?答:因为没有给函数返回值,所以新数组里面的都是undefined改进写法:var arr = [1, 4, 8, 9];var newArr = arr.map( function(x){//现在我要对满足条件的数组元素进行条件改变,把2的倍数的元素-1if( !(x%2) ){x = x - 1;return x; //这样就返回给map一个具体的值,存放再数组对应的位置}})console.log( newArr );//[undefined, 3, 7, undefined]#为什么还有两个undefined呢?答:因为只对满足条件的数组元素进行了返回值,并没有对不满足条件的元素进行默认值返回正确写法:var arr = [1, 4, 8, 9];var newArr = arr.map( function(x){//现在我要对满足条件的数组元素进行条件改变,把2的倍数的元素-1if( !(x%2) ){x = x - 1;return x; //这样就返回给map一个具体的值,存放再数组对应的位置}return x;//当不满住偶数条件是,返回默认值})console.log( newArr );//[1, 3, 7, 9]
注意点
return只是终止离他最近的上级函数,如果要输出这个return ,必须要console.log()这个函数结果,如果只是单纯的调用函数,是看不到结果的。
关于JavaScript中return的使用情况相关推荐
- try-catch-finally中return的执行情况
在try中没有异常的情况下try.catch.finally的执行顺序 try--- finally 如果try中有异常,执行顺序是try--- catch --- finally 如果try中没有异 ...
- JavaScript中return的用法详解
转载于吴雨欣 https://www.cnblogs.com/wuyuxin/p/7017246.html return返回的值为Number.Boolean! 这也就解释了,为什么输入错误,焦点一直 ...
- JavaScript四则运算的一些特殊情况
JavaScript四则运算有一些点是容易在面试中考到的.闲话不多说,直接上点: 一.加法: 正常的加法每个人都会,但是一些特殊情况的加法可能许多人都已经忘记,或者根本就不了解.下面,以一个例子说明: ...
- try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗
finally 一定会执行 try-catch-finally中return的执行情况: 在try中没有异常的情况下try.catch.finally的执行顺序 try --- finally 如果t ...
- 在javascript中判断类型
String 一个字符串始终是一个字符串,所以这一块是很容易.除非使用new(new String)调用,否则typeof将返回"object".所以也要包含那些可以使用的字符串i ...
- regexp 好汉字符串_如何在JavaScript中使用RegExp确认字符串的结尾
regexp 好汉字符串 by Catherine Vassant (aka Codingk8) 由凯瑟琳·瓦森(Catherine Vassant)(又名Codingk8) 如何在JavaScrip ...
- !! javascript_产量! 产量! 生成器如何在JavaScript中工作。
!! javascript by Ashay Mandwarya ?️?? 由Ashay Mandwarya提供吗? 产量! 产量! 生成器如何在JavaScript中工作. (Yield! Yiel ...
- 如何从JavaScript中的给定数字中形成最小的数字
by Prashant Yadav 通过Prashant Yadav 如何从JavaScript中的给定数字中形成最小的数字 (How to form the smallest possible nu ...
- 在JavaScript中重复字符串的三种方法
In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...
最新文章
- 企业主要财务指标有哪些
- 单例设计模式-饿汉式
- c#爬虫-解决ChromeDriver 版本问题
- create-react-app第一步
- javascript功能_最新版本JavaScript仅具有2个新功能。 这是他们的工作方式。
- 简单明了学习SQL CTE递归查询
- 写给数据分析小白:一种通用的数据思维
- 游戏开发之C++类和对象相关概念实例(C++)
- AH8063,输入6.6V-30V,4A大电流,三节锂电池充电管理芯片iC
- 电芯容量在前期循环中容量增加_锂电池随着使用次数增加而最大容量下降,为什么...
- i3型3D打印机制作详解——Marlin固件中文介绍
- js算法 字母大小写转换
- [内附完整源码和文档] 基于PHP的网上购物系统设计与实现
- tp框架获取服务器信息,tp5获取服务器地址
- go-优雅地重启http服务之endless
- mysql计算月初日期_mysql 获取上月、本月月初月末
- 华为机试题练习(一)
- spring的工作原理介绍
- 苹果xr十大隐藏功能_网上找的一些非常实用的苹果笔记本使用技巧及隐藏功能,收藏了...
- 张量的向量化vectorization、模n(mode-n)展开
热门文章
- Flink Table和SQL的基本API
- 数据可视化的关键因素有哪些
- 购买物联网卡应该注意哪些问题?
- 使用单链表数据结构存储结构化的学生信息
- 数据分析数据可视化(三)
- python报表自动化系列 - 获取某月日历并以列表形式返回(公历)
- lisp将图元追加选择_AutoLISP入门7 - 图元资料的取得与活用技巧(二)
- AcWing 870. 约数个数(唯一分解+组合数)
- 区间合数的最小公倍数(质数+因数分解)
- php pdo $_GET,PHP PDOStatement::getColumnMeta讲解