定义函数
- 定义方式一
//绝对值函数
function abs(x) {
if (x >= 0) {
return x;
} else {
retrun -x;
}
}
一旦执行到return代表函数结束,返回结果
如果没有执行return,函数执行完也会返回结果,结果就是undefined
- 定义方式二
var abs = function(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
function(x){…}这是一个匿名函数。但可以把结果赋值给abs,通过abs就可以调用函数
函数调用
abs(10);
abs(-10);
参数问题:JavaScript可以传任意个参数,也可以不传参数
参数进来是否存在的问题?
假设不存在参数,如何规避?
var abs = function(x) {
//手动跑出异常来判断
if (typeof x !== "number") {
throw "Not a number"
}
if (x >= 0) {
return x;
} else {
return -x;
}
}
arguments
arguments是一个JS免费赠送的关键字;
代表传递进来的所有参数,是一个数组
rest
ES6引入的新特性,获取除了已经定义的参数之外的所有参数
function a(a, b, ...rest) {
console.log("a=>" + a);
console.log("b=>" + b);
console.log(rest);
}
rest参数只能写在最后面,必须用…标识。