首页 > 技术文章 > 函数参数和作用域

52580587zl 2020-04-05 21:27 原文

函数参数:

1.在封装函数的时候我们可以定义形参(形式上的参数,这个参数是没有值的)

2.定义的两个形参会按顺序接收调用时传递过来的实参

3.形参可以随意命名,但要遵循变量命名规则

4.由于js是弱类型,所以形参是不需要定义类型的

5.形参直接写名字就行,不需要var

关于形参与实参的数量

     实参个数大于形参,多余实参自动舍弃

     形参个数大于实参,多余形参默认为undefined

//argument 参数  实参副本

  1. 可以把所有实参复制一份,放进arguments
  2. arguments只能在函数内部使用,代表的是当前函数的实参副本
  3. arguments是一个类数组对象
  4. arguments存了多个值,可以通过下标的方式去访问某一个(使用中括号加下标)
  5. arguments.length//获取实参个数
  6. arguments的下标的取值范围0—(arguments.length-1)
  7. 可以从0—(arguments.length-1) 来循环
  8. arguments一般用于一系列参数,但是不确定个数的时候,如果是确定参数,以及由对应不同含义那么久定义形参

作用域:变量的作用范围

全局变量

  作用范围为整个程序的执行范围

    在函数体外部定义的变量就是全局变量

    在函数体内部不使用var定义的也是全局变量

局部变量

    作用范围是某个函数体内部

    在函数体内部通过var关键字定义的变量或者形参,都是局部变量

       当局部变量与全局变量重名时,在函数体内部局部变量优先于全局变量

局部作用域可以访问全局作用域

     全局不能访问局部作用域

js里可以不用var声明,在函数里面声明变量如果不写var,那么这个变量是一个全局变量

作用域的第二种情况:

如果局部变量和全局变量重名,使用时优先使用局部变量。

如果局部没有这个变量,就去使用全局的。

局部变量与全局变量之间的关系:

return关键字可以在函数运行完成以后返回一个值,返回到了函数的调用位置

    1.结束函数的执行

     2.交回函数执行权

     3.返回一个结果函数调用位置


推荐阅读