JS—函数

61 阅读2分钟

函数的概念

声明式

> 语法结构:  function  函数名(){执行语句}

写法:    
    <script>
    console.log(fn);       // 输出  undefined   未定义
    var fn = function(){
        console.log('至尊宝');   //输出  至尊宝
    }
    // console.log(fn);      输出  function(){}或(f  (  )      console.log('至尊宝'))
    fn()     
</script>

为什么输出为未定义:                                  
    <script>
    var  fn      ( 因为浏览器中按照预解析来     var fn = function 中的var   fn 提到了最前面,但是没有定义)
    fn = function(){
        console.log('至尊宝');     //输出语句
    }
    // console.log(fn);      输出  function(){}或(f  (  )      console.log('至尊宝'))
    fn()    
</script>  

函数分为两个阶段: 定义阶段 调用阶段

将公共的代码封装在函数中,函数相当于一个包装的盒子,可以在任意使用,这样可以避免重复书写相同

function 类似于 var ,表示用来声明一个函数的,也可以理解成函数的关键字

函数的规则,和定义变量的的规则一样

函数执行的语法:函数名()表示函数调用了

赋值式

 var  fn = function(){  consoe.log('至尊宝')}

此处函数 fn 也表示函数名 使用 var 声明的变存在变量声明提升的问题,js 语言是一种和弱类型并且是解释性的语言 声明提升:就是声明提升到当前作用域上方,然后赋值留在原地

赋值式和声明式区别:

1.书写不同
2.打印时声明式 会带上数名,赋值时没有
3.调用差异:
  声明式:可以在函数定义前  调用
            

函数分为 实参 形参

实参函数传递给形参函数

`<script>
    function addFn   (a,b) (形参){     (10传递给a ,20传递给b  所以a=10,b=20)
    console.log(a+b);                   在这个位置  输出  30    
}
addFn(10,20)(实参)
</script>`

函数的返回值 return

注意:函数中的 return 只能写在函数的执行语句中

作用1:中断函数内的代码,相当于 循环中的 break

作用2:函数的return 返回的值就是函数调用表达式的值

return 具有函数中断执行的功能

注意:return 后没有值 和 不写 return 函数表达式的值都是 undefined

函数默认返回值

   我们可以不写   return   函数会默认在代码段最后一行 写上  return  undefined
   什么时候需要写  返回值返回值的书写  取决于 是否需要得到函数内部一个变量的值,如果需要  可以使用返回值将其返回,如果不需要我们可以不写