JS return

🌙
手机阅读
本文目录结构

功能

return 语句终止函数的执行,并返回一个指定的值给函数调用者。

语法

return [[expression]];

expression

表达式的值会被返回。如果忽略,则返回 undefined。

描述

当在函数体中使用 return 语句时,函数将会停止执行。如果指定一个值,则这个值返回给函数调用者。例如,以下函数返回其参数 x 的平方,其中 x 是数字。

function square(x) {
   return x * x;
}
var demo = square(3);
// demo will equal 9

如果省略该值,则返回 undefined。

下面的 return 语句都会终止函数的执行:

return;
return true;
return false;
return x;
return x + y / 3;

自动插入分号

自动插入分号(ASI) 规则会影响 return 语句。在 return 关键字和被返回的表达式之间不允许使用行终止符。

return
a + b;

根据 ASI,被转换为:

return;
a + b;

控制台会警告“unreachable code after return statement”。

从 Gecko 40 (Firefox 40 / Thunderbird 40 / SeaMonkey 2.37) 开始,如果在一个 return 语句后发现无法访问的代码,控制台将会显示一个警告。

示例

中断一个函数的执行

函数将会在 return 语句执行后立即中止。

function counter() {
  for (var count = 1; ; count++) {  // 无限循环
    console.log(count + "A"); // 执行5次
      if (count === 5) {
        return;
      }
      console.log(count + "B");  // 执行4次
    }
  console.log(count + "C");  // 永远不会执行
}

counter();

// Output:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A

返回一个函数

另见关于闭包的文章。

function magic(x) {
  return function calc(x) { return x * 42};
}

var answer = magic();
answer(1337); // 56154

规范

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
Return statement
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Return statement
Standard
ECMAScript Latest Draft (ECMA-262)
Return statement
Draft

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了