JavaScript函数的使用
函数的基础
什么是函数
- 函数可以理解为一个 特定的代码块 容器 ,它可以完成特定的需求, 并且可以 重复 使用
函数的声明与调用
- 函数默认不会主动执行,必须通过函数名() 调用才会执行.
- 函数一次声明可以多次调用,每一次函数调用函数体里面的代码会重新执行一次.
基本形式
函数的传参
为什么要使用传参
- 把函数在复用过程中会改变的值提取出来, 作为参数传递进去.这样可以极大提高函数的灵活性
形参
-
在函数内部声明变量
- 声明函数小括号里面的
实参
-
给形参赋值
- 调用参数小括号里面的
个数的影响
- 如果 实参个数大于形参,则后续传递进去的值会忽略
- 如果 实参个数小于形参,则形参默认为undefined
例子
function getSum(num1, num2) {
document.write(num1 + num2)
}
// 调用
getSum(1, 2)
函数的返回值
return
function getSum(x, y) {
return x + y
// return 后面的代码不会再执行
console.log('哈哈哈哈哈');
}
console.log(getSum(1, 2));
function fn(x, y) {
let res1 = x + y
let res2 = x - y
// return res1, res2
// 结果值返回了res1 因为return只能返回一个值
// 我们就可以以数组的形式返回多个数据
return [res1, res2]
}
let res = fn(2, 1)
document.write(`相加之后的结果是:${res[0]},相减之后的结果是: ${res[1]} `)
函数碰到return就不会在往下执行,函数结束用return
break的结束和return结束的区别
- break是跳出循环,跳出一层循环
- return是终止循环不影响循环的下次进行
作用域
作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突
作用域分类
- 全局作用域
- 函数作用域
- 块级作用域
变量分类
-
全局变量
- 在函数外部let 的变量 => 全局变量在任何区域都可以访问和修改
-
局部变量
- 在函数内部let 的变量 => 局部变量只能在当前函数内部访问和修改
-
块级变量
- let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问
变量访问原则
- 在能够访问到的情况下 先局部 局部没有在找全局
匿名函数
没有名字的函数,无法直接使用
使用方式
- 自执行
- 对象中,赋值给一个变量
\