关于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的使用情况相关推荐

  1. try-catch-finally中return的执行情况

    在try中没有异常的情况下try.catch.finally的执行顺序 try--- finally 如果try中有异常,执行顺序是try--- catch --- finally 如果try中没有异 ...

  2. JavaScript中return的用法详解

    转载于吴雨欣 https://www.cnblogs.com/wuyuxin/p/7017246.html return返回的值为Number.Boolean! 这也就解释了,为什么输入错误,焦点一直 ...

  3. JavaScript四则运算的一些特殊情况

    JavaScript四则运算有一些点是容易在面试中考到的.闲话不多说,直接上点: 一.加法: 正常的加法每个人都会,但是一些特殊情况的加法可能许多人都已经忘记,或者根本就不了解.下面,以一个例子说明: ...

  4. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗

    finally 一定会执行 try-catch-finally中return的执行情况: 在try中没有异常的情况下try.catch.finally的执行顺序 try --- finally 如果t ...

  5. 在javascript中判断类型

    String 一个字符串始终是一个字符串,所以这一块是很容易.除非使用new(new String)调用,否则typeof将返回"object".所以也要包含那些可以使用的字符串i ...

  6. regexp 好汉字符串_如何在JavaScript中使用RegExp确认字符串的结尾

    regexp 好汉字符串 by Catherine Vassant (aka Codingk8) 由凯瑟琳·瓦森(Catherine Vassant)(又名Codingk8) 如何在JavaScrip ...

  7. !! javascript_产量! 产量! 生成器如何在JavaScript中工作。

    !! javascript by Ashay Mandwarya ?️?? 由Ashay Mandwarya提供吗? 产量! 产量! 生成器如何在JavaScript中工作. (Yield! Yiel ...

  8. 如何从JavaScript中的给定数字中形成最小的数字

    by Prashant Yadav 通过Prashant Yadav 如何从JavaScript中的给定数字中形成最小的数字 (How to form the smallest possible nu ...

  9. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

最新文章

  1. 企业主要财务指标有哪些
  2. 单例设计模式-饿汉式
  3. c#爬虫-解决ChromeDriver 版本问题
  4. create-react-app第一步
  5. javascript功能_最新版本JavaScript仅具有2个新功能。 这是他们的工作方式。
  6. 简单明了学习SQL CTE递归查询
  7. 写给数据分析小白:一种通用的数据思维
  8. 游戏开发之C++类和对象相关概念实例(C++)
  9. AH8063,输入6.6V-30V,4A大电流,三节锂电池充电管理芯片iC
  10. 电芯容量在前期循环中容量增加_锂电池随着使用次数增加而最大容量下降,为什么...
  11. i3型3D打印机制作详解——Marlin固件中文介绍
  12. js算法 字母大小写转换
  13. [内附完整源码和文档] 基于PHP的网上购物系统设计与实现
  14. tp框架获取服务器信息,tp5获取服务器地址
  15. go-优雅地重启http服务之endless
  16. mysql计算月初日期_mysql 获取上月、本月月初月末
  17. 华为机试题练习(一)
  18. spring的工作原理介绍
  19. 苹果xr十大隐藏功能_网上找的一些非常实用的苹果笔记本使用技巧及隐藏功能,收藏了...
  20. 张量的向量化vectorization、模n(mode-n)展开

热门文章

  1. Flink Table和SQL的基本API
  2. 数据可视化的关键因素有哪些
  3. 购买物联网卡应该注意哪些问题?
  4. 使用单链表数据结构存储结构化的学生信息
  5. 数据分析数据可视化(三)
  6. python报表自动化系列 - 获取某月日历并以列表形式返回(公历)
  7. lisp将图元追加选择_AutoLISP入门7 - 图元资料的取得与活用技巧(二)
  8. AcWing 870. 约数个数(唯一分解+组合数)
  9. 区间合数的最小公倍数(质数+因数分解)
  10. php pdo $_GET,PHP PDOStatement::getColumnMeta讲解