函数的定义和参数获取

函数

定义函数

定义方式一

绝对值函数

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参数只能写在最后面,必须用...标识。

posted @   摘星丶仙  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示