函数的定义
函数: function,是被设计为执行特定任务的代码块
说明: 函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势 是有利于精简代码方便复用。
函数的作用
简化代码,方便复用,封装程序功能
函数的使用
函数的语法声明
function 函数名() {
函数体
}
例
function sayHi() {
document.write(`hai~~`)
}
<script>
//函数声明
function sayHi() {
console.log('你好');
console.log('你真好');
console.log('你真是太好了');
let say = prompt('你好吗')
document.write(say)
}
//函数调用,不调用是不会执行的
sayHi()
sayHi()
sayHi()
</script>
函数的调用
函数命名规范
有参数的函数声明和调用
函数的参数
<script>
//声明函数
function getSum(num1,num2) {
let num3 = num1 + num2
document.write(`${num3} <br>`)
}
getSum(200,80)
getSum(6,22)
getSum(30,40)
</script>
函数的返回值
<script>
function getMax(n1,n2) {
if (n1>n2) {
//返回值,返回值是什么输出就会是什么
return n1
} else {
return n2
}
}
//输出的三种方式
//输出函数返回值
console.log(getMax(1,3));
document.write(getMax(2,4))
alert(getMax(6,8))
</script>
细节:
在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
函数内部只能出现 1 次 return,并且 return 后面代码不会再被执行,所以 return 后面的数据不要换行写
return会立即结束当前函数
函数可以没有 return,这种情况函数默认返回值为 undefined
作用域
变量有一个坑, 特殊情况: 如果函数内部或者块级作用域内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐 但是有一种情况,函数内部的形参可以看做是局部变量。
作用域链
作用域链:只是一种代码寻找变量来执行的机制规则
采取就近原则的方式来查找变量最终的值
就近的参照物是函数的声明,函数的定义来寻找最近的变量
匿名函数
作用:防止变量污染,执行一次性的任务
特点:在定义函数的同时也执行函数
匿名函数
立即执行函数
注意 多个立即执行函数 要用 ;隔开 否则报错