前端小白的JavaScript入门篇—函数

56 阅读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
什么时候需要写 返回值返回值的书写 取决于 是否需要得到函数内部一个变量的值,如果需要 可以使用返回值将其返回,如果不需要我们可以不写