函数

博客围绕JavaScript函数展开,介绍了函数的定义、参数、调用和return,还提及arguments对象可获取实参数量,以及函数的方法和属性。此外,阐述了函数作用域,包括全局和局部变量,分析了同名变量问题、未加var关键字的变量情况及变量作用域提升。

函数:

		函数,即方法。函数也是对象。

1、函数的定义

			定义方式有3种:
				1、函数声明语句
					function 函数名([形参]) {
						
					}
					调用:函数名([实参]);
				2、函数定义表达式
					var 变量名/函数名 = function([形参]){
						
					}
					调用:变量名([实参])/函数名([实参]);
				3、Function构造函数
					var 函数名 = new Function('参数1','参数2','函数的主体内容');
					调用:函数名([实参]);
					注:构造韩束的最后一个参数是函数体。
					
			注意:
				1、js 中的函数没有重载,同名的函数,会被后面的函数覆盖。
				2、js 中允许有不定数目的参数,后面介绍 arguments 对象
			
			函数名的提升(了解)
				JavaScript 引擎将函数名视同变量名,所以采用 function 命令声明函数时,整个函数会像变量声明一样,被提升到代码头部。所以,下面的代码不会报错
				但是,如果采用赋值语句定义函数,JavaScript 就会报错。

函数的参数、调用和return

		参数
			函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部
			数据就叫参数,定义时的参数称为形参,调用时的参数称为实参
			1、实参可以省略,那么对应形参为 undefined
			2、若函数形参同名(一般不会这么干):在使用时以最后一个值为准。
			3、可以给参数默认值:当参数为特殊值时,可以赋予默认值。
			4、参数为值传递,传递副本 ;引用传递时传递地址,操作的是同一个对象
			
		函数的调用
			1、常用调用方式:函数名([实参]);
				存在返回值可以变量接收,若接收无返回值函数则为 undefined
			2、函数调用模式
			3、方法调用模式
			4、call()和apply()
		
			注:谁调用函数,this就指向谁
			
		匿名函数立即调用
			(1)匿名函数:function ([参数]){}
			(2)调用:(function ([形参]) {})([实参]);
			在函数只被使用一次的情况下可以使用这种方式,简便省事
			
		return 语句
			函数的执行可能会有返回值,需要使用 return 语句将结果返回。return 语句不是必需的,
			如果没有的话,该函数就不返回任何值,或者说返回 undefined。
			作用:在没有返回值的方法中,用来结束方法。
			有返回值的方法中,一个是用来结束方法,一个是将值带给调用者。

arguments 对象和函数的方法及属性
arguments对象可以得到函数的实参数量
函数名.name 得到函数名称
函数名.length 得到函数的形参数量
函数名.toString() 得到函数的源码

函数的作用域
函数作用域:全局(global variable)和局部(local variable)
1)全局变量与局部变量同名问题
2)在函数中定义变量时,若没有加 var 关键字,使用之后自动变为全局变量
3)变量作用域提升

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值