美文网首页
函数声明和函数表达式

函数声明和函数表达式

作者: 学的会的前端 | 来源:发表于2019-01-17 20:57 被阅读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())  // 报错,下面的语句就根本不会执行

相关文章

  • 函数

    函数声明和函数表达式有什么区别 函数声明 函数表达式 函数声明和函数表达式的区别: 函数声明必须给定函数名称,函数...

  • JavaScript 函数

    函数声明和函数表达式 函数声明和函数表达式都是创建函数的方法; 函数声明会触发函数提升,而函数表达式不会;前置不前...

  • JS函数

    一、问答1、函数声明和函数表达式有什么区别 ()函数声明和函数表达式都是声明函数的方法。函数声明:function...

  • web前端-js小记(3)-函数及作用域

    1. 函数声明和函数表达式有什么区别 函数声明 函数表达式 区别:函数声明不用把声明放到函数调用的前面,函数表达式...

  • JS函数作用域链

    1.函数声明和函数表达式 函数声明和函数表达式都可以声明函数,但使用函数声明的方法,声明不必放在调用前;使用函数表...

  • 进阶3

    函数声明和函数表达式 函数声明:function functionName(){}  函数表达式:var fn =...

  • 函数与作用域

    1. 函数声明和函数表达式有什么区别 函数声明和函数表达式都是声明函数的方式 区别1 写法:函数声明 : fu...

  • 函数

    一、函数声明和函数表达式有什么区别 函数声明: 函数表达式: 区别:在于函数声明前置的不同,函数声明是整个函数前置...

  • 任务17-函数和作用域

    1.函数声明和函数表达式有什么区别 (*) 函数声明 函数表达式 函数声明:函数调用可以发生在函数声明之前,例如下...

  • 任务17

    问答 1.函数声明和函数表达式有什么区别? 函数声明: 函数表达式: 函数声明:函数调用可以发生在函数声明之前,例...

网友评论

      本文标题:函数声明和函数表达式

      本文链接:https://www.haomeiwen.com/subject/jajwdqtx.html