您现在的位置是:首页 > Javascript
当前栏目
函数
2023-02-18 15:29:14 时间
我们知道圆的面积计算公式为:
\mathrm{πr}^2
当我们知道半径r
的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:
var r1 = 12.34;
var r2 = 9.08;
var r3 = 73.1;
var s1 = 3.14 * r1 * r1;
var s2 = 3.14 * r2 * r2;
var 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 + ... + 100
,写起来十分不方便,于是数学家发明了求和符号∑,可以把1 + 2 + 3 + ... + 100
记作:
\sum_{n=1}^{100}n
这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。
而且,这种抽象记法是可扩展的,比如:
\sum_{n=1}^{100}n^2+1
还原成加法运算就变成了:
(1\times1+1)+(2\times2+1)+(3\times3+1)+\dots+(100\times100+1)
可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。
写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。
相关文章
- [javascript] 看知乎学习js事件触发过程
- [javascript] 看知乎学习js闭包
- [angularjs] angularjs系列笔记(八)事件
- [angularjs] 前端路由实现单页跳转
- [angularjs] angularjs系列笔记(七)HTML DOM
- JS对象拷贝:深拷贝和浅拷贝
- [angularjs] angularjs系列笔记(六)http
- [angularjs] angularjs系列笔记(五)Service
- [angularjs] angularjs系列笔记(四)过滤器
- [angularjs] angularjs系列笔记(四)控制器
- [angularjs] angularjs系列笔记(三)模型
- [angularjs] angularjs系列笔记(二)指令
- [nodejs] nodejs开发个人博客(七)后台登陆
- [angularjs] angularjs系列笔记(一)简介
- [nodejs] nodejs开发个人博客(六)数据分页
- [nodejs] nodejs开发个人博客(五)分配数据
- [nodejs] nodejs开发个人博客(四)数据模型
- [nodejs] nodejs开发个人博客(二)入口文件
- [nodejs] nodejs开发个人博客(一)准备工作
- [日常] json_encode对中文和引号的处理差异研究