20220812 JS函数创建/调用/嵌套/作用域/变量/参数

148 阅读2分钟

函数(封装特定功能的代码块)

创建函数

创建后需要使用在执行函数体中

  • 方法一:var 函数名=function([参数]){} ——匿名函数
  • 方法二:function 函数名([参数]){} ——匿名函数
  • 方法三:var 函数名=([参数])=>{} ——匿名函数
  • 方法四(一般不用):var 函数名=new Function(‘ ’)

调用函数

函数名([参数])

嵌套函数

在函数中也可以嵌套函数

函数的作用域问题(变量能用的范围)

全局作用域

定义在函数外,和循环代码块中的var/let/const,可在函数中用

局部作用域

在函数中定义的变量只能在函数中使用

函数中的变量的使用

能在函数体中找得到的就不会去函数体外边找取变量按就近原则

补充

全局作用域

定义在外面,和循环代码块中的var/let/const,可使用

块级作用域

let/const,定义在代码块中

参数(一个函数中动态的数据,可以作为参数传入)

形参:接收的变量

实参:实际的参数

参数的特性:

  • 作用域是局部
  • 传递和接收一一对应
  • 没有传递数据时,形参默认值是undefined
  • 可以修改默认值,在形参后直接赋值

返回值return:执行函数之后拿到的数据

  • 一个函数只能使用一个return
  • 执行到return会终止整个函数
  • 需要返回多个时,可以把他封装成对象在返回
  • 把数据封装到对象时,如果键值对的名字一致时可只写一个名字
  • 返回值是对象可以直接进行解构

虎哥小知识

  • 调试时F10会跳过函数的执行步骤,F11不会
  • 不能使用关键字定义变量