函数参数和作用域
Posted 52580587zl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数和作用域相关的知识,希望对你有一定的参考价值。
函数参数:
1.在封装函数的时候我们可以定义形参(形式上的参数,这个参数是没有值的)
2.定义的两个形参会按顺序接收调用时传递过来的实参
3.形参可以随意命名,但要遵循变量命名规则
4.由于js是弱类型,所以形参是不需要定义类型的
5.形参直接写名字就行,不需要var
关于形参与实参的数量
实参个数大于形参,多余实参自动舍弃
形参个数大于实参,多余形参默认为undefined
//argument 参数 实参副本
- 可以把所有实参复制一份,放进arguments
- arguments只能在函数内部使用,代表的是当前函数的实参副本
- arguments是一个类数组对象
- arguments存了多个值,可以通过下标的方式去访问某一个(使用中括号加下标)
- arguments.length//获取实参个数
- arguments的下标的取值范围0—(arguments.length-1)
- 可以从0—(arguments.length-1) 来循环
- arguments一般用于一系列参数,但是不确定个数的时候,如果是确定参数,以及由对应不同含义那么久定义形参
作用域:变量的作用范围
全局变量
作用范围为整个程序的执行范围
在函数体外部定义的变量就是全局变量
在函数体内部不使用var定义的也是全局变量
局部变量
作用范围是某个函数体内部
在函数体内部通过var关键字定义的变量或者形参,都是局部变量
当局部变量与全局变量重名时,在函数体内部局部变量优先于全局变量
局部作用域可以访问全局作用域
全局不能访问局部作用域
js里可以不用var声明,在函数里面声明变量如果不写var,那么这个变量是一个全局变量
作用域的第二种情况:
如果局部变量和全局变量重名,使用时优先使用局部变量。
如果局部没有这个变量,就去使用全局的。
局部变量与全局变量之间的关系:
return关键字可以在函数运行完成以后返回一个值,返回到了函数的调用位置
1.结束函数的执行
2.交回函数执行权
3.返回一个结果函数调用位置
以上是关于函数参数和作用域的主要内容,如果未能解决你的问题,请参考以下文章