Skip to content
Shimon's BlogShimon's Blog
主页
杂谈
  • 主页
      • 代码笔记
          • 代码学习教程
              • JavaScript 教程
                  • 函数
                    • generator
                      • map & reduce
                        • this 的指向
                          • 函数介绍
                            • 抽象
                            • 函数作用域
                              • 函数的声明
                                • 函数的属性和方法
                                  • 函数的调用
                                    • 箭头函数
                                      • 解构赋值
                                        • 闭包
                                          • 高阶函数
                                          • 错误处理
                                          • 如何学习一门计算机语言

                                        函数介绍

                                        Shimon Zhan2019年10月1日
                                        • JavaScript
                                        大约 2 分钟

                                        此页内容
                                        • 抽象

                                        函数是一段可以反复调用的代码块。函数还能接受输入的参数,不同的参数会返回不同的值。

                                        我们知道圆的面积计算公式为: S=πr2S = \pi r^2S=πr2

                                        当我们知道半径 rrr 的值时,就可以根据公式计算出面积。假设我们需要计算 3 个不同大小的圆的面积:

                                        const r1 = 12.34;
                                        const r2 = 9.08;
                                        const r3 = 73.1;
                                        const s1 = 3.14 * r1 * r1;
                                        const s2 = 3.14 * r2 * r2;
                                        const s3 = 3.14 * r3 * r3;
                                        

                                        当代码出现有规律的重复的时候,您就需要当心了,每次写 3.14 *x* x 不仅很麻烦,而且,如果要把 3.14 改成 3.14159265359 的时候,得全部替换。

                                        有了函数,我们就不再每次写 s = 3.14 *x* x,而是写成更有意义的函数调用 s = area_of_circle(x),而函数 area_of_circle 本身只需要写一次,就可以多次调用。

                                        基本上所有的高级语言都支持函数,JavaScript 也不例外。JavaScript 的函数不但是“头等公民”,而且可以像变量一样使用,具有非常强大的抽象能力。

                                        # 抽象

                                        抽象是数学中非常常见的概念。举个例子:

                                        计算数列的和,比如: 1+2+3+⋯+1001 + 2 + 3 + \dots + 1001+2+3+⋯+100,写起来十分不方便,于是数学家发明了求和符号 ∑\sum\limits∑,可以把 1+2+3+⋯+1001 + 2 + 3 + \dots + 1001+2+3+⋯+100 记作 ∑n=1100n\sum\limits _{n=1}^{100} nn=1∑100​n 。

                                        这种抽象记法非常强大,因为我们看到 ∑\sum\limits∑ 就可以理解成求和,而不是还原成低级的加法运算。

                                        而且,这种抽象记法是可扩展的,比如: ∑n=1100(n2+1)\sum\limits _{n=1}^{100} (n^2+1)n=1∑100​(n2+1)

                                        还原成加法运算就变成了:

                                        (1×1+1)+(2×2+1)+⋯+(100×100+1)(1 × 1 + 1) + (2 × 2 + 1) + \dots + (100 × 100 + 1)(1×1+1)+(2×2+1)+⋯+(100×100+1)

                                        可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。

                                        写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。

                                        上次编辑于: 2022/4/19 07:13:07
                                        贡献者: ShimonZhan
                                        上一页
                                        this 的指向
                                        下一页
                                        函数作用域
                                        Copyright © 2021-present Shimon Zhan