函数
函数是代码中的工 函数是代码中的公式
语法:
function fn() { console.log(111); }
使用语法:函数调用 - 让函数中的代码段执行
fn()
1.赋值式函数
var hanshu = function fn() {
var a = 1
var b = 2
var c = a + b
console.log(c);
}
一旦是赋值式的函数,函数代码中的函数名称就不能再使用了
hanshu() // 正常调用
fn() // fn is not defined
2.匿名函数与调用
(function() {
var a = 1
var b = 2
var c = a + b
console.log(c);
})()
匿名函数用小括号包起来,后面再加小括号,就相当于这个函数被调用了 - 只是这个函数只能被调用一次 - 自调用函数
3.带参数函数
当函数代码中某些数据在多次调用时发生变化,就需要将这个数据当做是变量 - 最终是需要赋值的,这个变量需要放在定义函数时的小括号中
function add(a, b) { // 形参
var c = a + b
console.log(c);
}
add(1, 2) // 实参
add(3, 5)
add(5, 6)
用函数求出10内的偶数 偶数共有多少个?
function to(n){
var k=0
for(var i=1;i<n;i++){
if(i%2==0){
document.write(i+'<br>')
k++
}
}
document.write(k)
}
to(10)
// 当实参超出形参数量时,超出部分是无效的
function fn(a, b) {
var c = a + b
console.log(c);
}
fn(5, 2, 8)
4.带返回值函数
function fn(a, b, c) {
var sum = a + b + c
// 调用函数需要得到的结果需要在函数中使用return
// return除了能返回结果以外,还可以结束函数的执行 - return后面的代码不执行
return sum // 将sum返回
console.log(sum)
}
fn(1,2,3)
// 调用得到这3个数的和以后,去计算这3个数的平均数
var avg = fn(1,2,3) / 3
console.log(avg) //得到2
5.预解析
预解析:教我们如何看懂代码的执行过程
代码执行过程
1.解析 - 预解析 2.执行 - 然后,代码按照预解析的结果顺序执行
fn()
function fn() {
console.log('我是一个 fn 函数')
}
fn()
var fn = 100
fn()
// 预解析 //预解析会将函数和定义调用到最前面排列然再进行代码执行
function fn() {
console.log('我是一个 fn 函数')
}
var fn
fn()
fn()
fn = 100
fn()
6.函数嵌套
function fun() {
console.log('这是fun函数');
}
function fn() {
fun()
}
fn()