js笔记 day04

115 阅读2分钟

函数

函数是代码中的工 函数是代码中的公式

语法

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()