函数的定义和参数获取
函数
定义函数
定义方式一
绝对值函数
function abs(x){
if(x >= 0){
return x;
}else{
return -x;
}
}
一旦执行到return代表函数结束,返回结果!
如果没有执行return,函数执行完也会返回结果,结果就是undefined
定义方式二
var abs = function(x){
if(x >= 0){
return x;
}else{
return -x;
}
}
function(x){...}这是一个匿名函数。但是可以把结果赋值给abs,通过abs就可以调用函数!
方式一和方式二等价!
调用函数
abs(10) // 10
abs(-10) // 10
参数问题:JavaScript可以传任意个参数,也可以不传递参数~
参数进来是否存在的问题?
假设不存在参数,如何规避?
var abs = function(x){
//手动抛出异常来
if(typeof x != 'number';
}
if(x >= 0){
return x;
}else{
return -x;
}
arguments
arguments是一个JS免费赠送的关键字;
代表,传递进来的所有的参数,是一个数组!
var abs = function(x){
console.log("x=>" + x);
for(var i = 0; i < arguments.length; i++){
console.log(arguments[i];
}
if(x >= 0){
return x;
}else{
return -x;
}
}
问题:arguments包含所有的参数,我们有时候想使用多余的参数来进行附加操作,需要排除已有参数~
rest
if(arguments.length > 2){
for(var i =2; i < arguments.length; i++){
//......
}
}
ES6引入的新特性,获取除了已经定义的参数之外的所有参数~ ...
function aaa(a, b, ...rest){
console.log("a => " + a);
console.log("b => " + b);
console.log(rest);
}
rest参数只能写在最后面,必须用...标识。

浙公网安备 33010602011771号