函数声明和函数表达式

2019-01-17  本文已影响0人  学的会的前端

函数声明和函数表达式

function fn(){
  console.log(''hello")
 }
fn()
var fn = function(){
  console.log('hello')
 }
fn();
  1. 函数声明
alert(sum(10,10))   // 20
function sum(sum1,sum2){
    return sum1 + sum2;
}

因为在代码开始执行之前,解析器通过一个名为函数声明提升的过程,读取并将函数sum()添加到执行环境中,即函数声明提前。

  1. 函数表达式
alert(sum(10,10))
 var sum = function(sum1,sum2){
    return sum1 + sum2;
}
TIM图片20190117205339.png

对函数表达式先调用,在声明就会报错,因为此时函数位于一个初始化语句中,而不是一个函数声明,换句话说,就是在代码执行到函数表达式语句之前,不会存在任何对函数的引用。
函数表达式和var关键字是一样的,需要先声明在使用

上面语句可以理解成:
var sum // undefined
alert(sum())  // 报错,下面的语句就根本不会执行
上一篇 下一篇

猜你喜欢

热点阅读