JavaScript基本概念——函数详解

在JavaScript中,函数是最核心的。

1. 在JS中,语法如下:

	function myfFunction(param1,param2,parma3,……){
	//do something
	}

2. 调用:通过函数名调用
已有简单的一个函数

	function sum(num1,num2){
		return num1+num2;	
	}

调用sum(3,4),结果7。

 函数中可以带有return语句,也可以没有。当有return语句,可有多个,也可以直接return ;,没有返回值,这种情况用在提前停止函数执行而又不需要单回执的情况下。
return会直接返回,永远不会执行后面的语句,所以要慎用return语句。

3. 函数参数:按值传递

 JS中的参数与其他语言的参数不同,JS不在乎你传进来几个参数或是你是否传递参数
 原因是在js的参数在内部使用一个数组来表示的,函数始终接收到的都是这个数组,数组有参数,OK,没参数也行。
 在函数体内,可以使用arguments对象来访问参数数组(下标从0开始),从来获取参数列表。

	function sum(){
		return (arguments[0]+arguments[1];
	}

通过arguments对象的length属性可以获得参数列表长度。用法arguments.length
另外,命名参数可以和arguments对象一起使用。
关于arguments的行为,它的值永远与对应命名擦桉树的值保持同步,例如:

	 funtion doAdd(num1,num2){
	 	arguments[1] = 10;
	 	console.log(arguments[0]+num2);
	 }

调用函数doAdd(10,20);结果为20,而不是30。每次调用时都用重写num2的值,赋值为10.如果传入的参数只有一个,那么arguments[1]的值将为undefined,arguments的长度是由传递的参数的个数决定的。

4. 没有函数重载

我们知道在Java,C++等语言中,函数的重载是一个重要的功能,可以为一个函数编写两个定义,只要这两个定义函数签名不同即可。由于JS中函数没有签名,因为其参数是由包含0或多个值的数组 表示的。没有函数签名,就不是真正的函数重载。
在JS中,若是定义两个名字相同的函数,以最后一个为准。

总结:

  • JS中无需指定函数的返回值,因为其可以在任何时候返回任何值
  • 未指定返回值的函数返回的是一个特殊的undefined值
  • JS中没有函数签名的概念,即没有真正的函数重载
  • 可以向函数传递任意个数的参数,可以通过arguments对象获取参数列表,利用这一特性,可以模拟函数重载。


欢迎大家一起讨论,进步!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Daisy_JuJuJu

你们的鼓励将是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值