JavaScript (函数)

144 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第N天,点击查看活动详情

为什么需要函数

  • function,是被设计为执行特定任务的代码块
  • 函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势
  • 有利于精简代码方便复用

函数的声明语法

image.png

函数名命名规范

  • 和变量命名基本一致
  • 尽量小驼峰式命名法
  • 前缀应该为动词

image.png

函数传参

  1. 为什么要有参数的函数 若函数完成功能需要调用者传入数据,那么就需要用有参数的函数
    这样可以极大提高函数的灵活性
  • 有参数的函数声明和调用
    声明语法

image.png 参数列表
声明这个函数需要传入几个数据
多个数据用逗号隔开

image.png

  • 形参和实参 形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)
    实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)

image.png 形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值

函数返回值

  1. 为什么要让函数有返回值 缺点:把计算后的结果处理方式写死了,内部处理了
    解决:把处理结果返回给调用者
    有返回值函数的概念:
    当调用某个函数,这个函数会返回一个结果出来
    这就是有返回值的函数
  • 用return返回数据 当函数需要返回数据出去时,用return关键字

image.png 细节:
在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
函数内部只能出现 1 次 return,并且 return 后面代码不会再被执行,所以 return 后面的数据不要换行写
return会立即结束当前函数
函数可以没有 return,这种情况函数默认返回值为 undefined

作用域

全局作用域

  • 全局有效
  • 作用于所有代码执行的
  • 环境 (整个 script 标签 内部)或者一个独立的 js
  • 文件

局部作用域

  • 局部有效
  • 作用于函数内的代码环境,就是局部作用域
  • 因为跟函数有关系,所以也称为函数作用域

块级作用域

  • {} 内有效
  • 块作用域由 { } 包括,if语句和for语句里面的{ }等

匿名函数

  1. 匿名函数 将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为函数表达式

image.png 调用: image.png

  • 立即执行函数 场景介绍: 避免全局变量之间的污染

image.png 注意: 多个立即执行函数要用 ; 隔开,要不然会报错