JavaScript 函数
在 JavaScript中,函数是头等 (first-class) 对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于函数可以被调用。简而言之,它们是 Function 对象。(MDN)
函数就是一段代码片段,调用函数就是执行函数中的代码。
1. 函数的使用
1.1 语法
函数使用前通常与变量一样需要先进行声明,用 function 关键字定义函数。
// 常见的函数的定义方式
function 函数名(参数1, 参数2, ...) {
代码片段;
return 返回值;
}
// 调用函数 (执行函数中的代码)
var 函数的返回值 = 函数名(参数1, 参数2, ...);
代码块
预览
复制
调用函数就是执行函数中的代码
参数是调用函数的时候传递过去的,在函数执行过程中可以访问到
函数执行完毕后可以有一个返回值,调用函数的地方可以接收到这个返回值
1.2 调用函数
使用 函数名() 的方式即可调用一个函数
以下是一个最简单的函数:
function say() {
console.log('hello');
}
say(); // 输出:"hello"
代码块
预览
复制
调用这个函数就会在控制台输出 hello 字符串。
这个函数没有返回值,默认会返回一个 undefined。
1.3 带有参数与返回值的函数
在声明函数的时候,可以对参数也做上说明
假设有一个需求,需要一个计算三角形周长的函数。
计算三角形周长则需要知道三角形三条边各自的长度,然后将他们求和。
定义函数的时候就可以将三条边作为参数进行声明。
function calcPerimeter(a, b, c) {
// a, b, c 分别代表三条边
var sum = a + b + c;
return sum;
}
// 调用函数 并将返回值赋值给perimeter
var perimeter = calcPerimeter(3, 4, 5);
代码块
预览
复制
在调用函数的时可以传递值过去,这些值可以在函数中被访问。
在以上 calcPerimeter 函数被调用的时,传递了 3, 4, 5 三个值。
三个值对应到函数声明时定义的三个参数 a, b, c。
所以函数执行过程中 sum 的值为 3 + 4 + 5,即 12,随后 sum 被作为返回值进行返回。
最终变量 perimeter 也会被赋值为12。
2. 怎么运用函数
2.1 合理包装内容
函数可以对代码进行封装,让逻辑更加清晰。
比如如下代码块:
// 改写前
var num = 10;
var flag = false;
var i;
var len;
for (i = 2, len = num - 1; i <= len; i++) {
if (num % i === 0) {
flag = true;
break;
}
}
console.log(flag);
代码块
预览
复制
以上代码第一眼可能无法看出具体在做什么,仅需要做一点修改,就能有所改善。
// 改写后
function isPrimeNumber(num) {
var flag