js函数的return关键字

本文深入解析了return关键字在函数中的作用,包括其特性、如何影响函数执行流程,以及未指定return时的默认行为。通过具体代码示例,展示了return如何控制函数的返回值和执行过程。

return关键字: 函数体内使用。
return特性: 在函数中,只要遇到了return关键字,表示函数执行结束,会立即跳出函数执行。所以一个函数中,无论有多少个return,只会执行第一个return,因为后面的就不再执行了。
也因此,函数有一个特点:只有一个返回值,全局返回、接收这个值。

 function sum (a, b) {
      var res = a + b
      return res
    }
    var num = sum(3, 6)
    console.log(num)   // 打印9

    var num1 = sum(5, 6)
    document.write(num1)  // 页面显示11

    alert(sum(5,7))  //弹出12

如果一个函数没有写return关键字,同样的会有默认返回值undefined
下面的函数:只要a或者b其中一个不是数字类型,那我们就不计算,直接return,用来结束函数,也就意味着后面计算a+b的代码不会再执行了。

 function test (a, b) {
      if (typeof a != 'number' || typeof b != 'number') {
            return;
      }
      var res = a + b
      return res
    }
    var num = test(2, 4)
    console.log(num)  //6

    var num1 = test('2', 'dgdsf')
    console.log(num1)   //undefined
### JavaScript 函数中的 `return` 语句 在 JavaScript 中,`return` 是函数的关键部分之一。它用于结束函数的执行并将控制权交还给调用者[^2]。当 `return` 被触发时,任何位于其后的代码都将不再被执行。如果没有显式的 `return` 声明,默认情况下会返回 `undefined`。 #### 返回基本数据类型 以下是通过 `return` 返回简单值的一个例子: ```javascript function add(a, b) { return a + b; } console.log(add(3, 5)); // 输出: 8 ``` 此示例展示了如何利用 `return` 将两个数相加的结果传递回调用环境。 #### 在 Promise 链中使用 `return` 在处理异步操作时,`return` 的行为稍有不同。特别是在 `.then()` 方法内部,`return` 可以用来返回一个新值或新的 Promise 给后续链式调用[^3]。 ```javascript new Promise((resolve) => resolve(10)) .then(value => { console.log('First then:', value); // 输出: First then: 10 return value * 2; // 返回一个新的值到下一个 then() }) .then(newVal => { console.log('Second then:', newVal); // 输出: Second then: 20 }); ``` 上述代码片段说明了,在第一个 `.then()` 中返回的新值会被传入第二个 `.then()` 进行进一步处理。 #### 使用箭头函数简化语法 箭头函数提供了一种更简洁的方式来编写带有隐式返回的小型表达式函数。如果函数体只有一个表达式,则可以省略大括号和 `return` 关键字。 ```javascript const multiply = (a, b) => a * b; console.log(multiply(4, 6)); // 输出: 24 ``` 这里展示的是箭头函数形式下的乘法运算实现方式。 #### 结合数组方法使用 `return` 对于像 `findIndex` 或其他高阶数组方法来说,它们依赖于回调函数内的逻辑来决定最终的行为。这些方法通常需要配合恰当使用的 `return` 来完成特定的任务[^1]。 ```javascript const numbers = [1, 2, 3, 4]; let index = numbers.findIndex(num => num === 3); console.log(index); // 输出: 2 ``` 在这个案例里,`findIndex` 接收了一个匿名函数作为参数,该匿名函数在其内部实现了比较逻辑并通过 `return` 提供判断依据。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值