跳到主要内容

function函数

基本定义

  • 当我们需要重复操作一大段步骤时,如果每次都复制粘贴一份,不仅麻烦,还占用空间
  • 此时我们用 {} 把这堆代码包起来,并起个名字,并用 function 关键字标记,就可以直接用名字 + () 来调用此段代码,即为函数
// 定义
function 函数名()
{
// 执行代码
}

// 调用
函数名()
  • 示例代码
function 函数示例() {
logd("====")
logd("执行1")
logd("执行2")
logd("执行3")
}

函数示例()
函数示例()

// 返回 ====
// 返回 执行1
// 返回 执行2
// 返回 执行3
// 返回 ====
// 返回 执行1
// 返回 执行2
// 返回 执行3

带参数的函数

  • 写代码时经常会定义一些变量/数据, 提供给后续使用
  • 为了方便使用,和作用域问题, 函数提供了参数接口, 方便将外部变量传递到函数内部来使用
// 定义
function 函数名(参数1, 参数2, ...)
{
// 执行代码
}

// 调用
函数名(变量1, 变量2, ...)
  • 示例代码
function 函数示例(参数1, 参数2, 参数3) {
logd("执行", 参数1)
logd("执行2", 参数2)
logd("执行3", 参数3)
}

let a = 1, b = 2, c = 3
函数示例(a, b, c)

// 返回 执行 1
// 返回 执行 2
// 返回 执行 3

函数示例(2, 4, 5)
// 返回 执行 2
// 返回 执行 3
// 返回 执行 4

参数默认值

  • 函数的参数是可以不填的,并不会报错, 参数值默认为 undefined
function test(a) {
logd("参数", a)
}

test(1)
test()
// 返回 参数 1
// 返回 参数 undefined
  • 如果我们想为参数设置一个默认值, 当我们不填参数时自动初始化参数
function test(a) {
a = a || 1
logd("参数", a)
}

test(1)
test()
// 返回 参数 1
// 返回 参数 1

带返回值的函数

  • 有时候,我们希望将函数中计算的结果传递出来
  • 此时需要借助 return 关键字来返回
function 数字相加(参数1, 参数2) {
return 参数1 + 参数2
}

logd(数字相加(1, 2))
// 返回 3

let 返回值 = 数字相加(1, 2)
logd(返回值)
// 返回 3

退出函数

  • 当函数进行到一半时, 我们希望直接退出函数,不再继续进行下去,也是用 return 来实现
function test() {
logd(1)
logd(2)
return
logd(3)
}

test()

// 返回 1
// 返回 2

特殊用法

自执行函数

  • 常用于一些插件的初始化,避免忘记执行
  • 会自动处理代码块中的变量,不会污染外部
(function () {
let x = 1
logd(x)
})()
logd(x)
// 返回 1
// 返回 ReferenceError: "x" is not defined