JavaScript 07 函数定义和参数获取

3.3 函数定义和参数获取


方法:在类里写上,在对象和类名那里调用。

函数:直接写,直接调用。不存在什么类,什么对象。

所以本质上它们是一样的,都是为了完成某个功能而设计的。

  • JavaScript 定义函数的格式①
function abs(x){
	if(x >= 0)
	{
		return x;
	}else{
		return -x;	
	}
}
//你会发现 js 定义一个 函数 好 tm 随意,好简单呀。

切记:return 不能换行 再返回值,因为 js 的语法 会自动 给你 return 后面 加 一个 ;(分号)上去,也就是 返回 空了,并不是返回 你想要返回的值。

如果没有返回 return,函数执行完也会返回结果,结果就是 undefined。

  • JavaScript 定义函数的格式②
var abs = function(x){
	if(x >= 0)
	{
		return x;
	}else{
		return -x;	
	}
};

这种方式 是 前端的人员 比较喜欢定义的,因为方便它们理解。它们认为 一个东西 有名字,那肯定就是 它们学的变量了。所以 一个函数 应该也被 存在 一个 变量里。

  • 调用函数
abs(10); // 10
abs(-10); // -10

JavaScript 的参数是可以任意传的,想传几个参数就传几个。。甚至可以不传。

  • 手动抛出异常

只要你想抛出异常,那就直接 写 throw “异常信息”; 就完事了。

function abs(x)
    {
      if(typeof x !== 'number')
      {
        throw "这根本不是一个数字!";
      }
      if(x >= 0)
      {
        return x;
      }else{
        return -x;
      }
    }

在这里插入图片描述

  • typeof A (返回 A 的 类型)
    在这里插入图片描述
    类似于 C/C++ 的 typeid(); 函数。

  • arguments (接收传递过来的所有参数形成参数列表)

console.log("x=>"+x);
      for(let i of arguments)
      {
        console.log(i);
      }

在这里插入图片描述
会发现 我们 真正有效的 参数就是第一个,而其它 参数 即使传递过来了,也没被 形参接收。而是被一个叫做 arguments 的东西 全部 接收了,形成了一个 参数列表。

技巧分享:如果是这样的话,那我们 如果不想用 第一个参数,而只想用 第二个和第三个的话?是不是 还需要 判断 传递过来的参数 是几个?然后 把 传递给第一个参数的值 给第二个,传递给第二个值给第三个。这样是不是就 很麻烦呀!但是没办法,JavaScript就这样。。。

  • . . .rest (专门用来接收除了 已定义参数之后的额外参数,形成一个参数列表) 这个不就类似于 java 的可变参数吗?给你反馈一个 参数的数组。
function aaa(x,y,...rest)
    {
      console.log(rest);

    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值