美文网首页
javascript函数声明与函数表达式的区别

javascript函数声明与函数表达式的区别

作者: 楠小忎 | 来源:发表于2017-12-12 14:38 被阅读16次

javascript 函数声明与函数表达式的区别

  • 就一点,函数声明有函数声明提升效果,可以在定义之前就引用,而函数表达式必须先赋值然后引用

  • 解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问);至于函数表达式,则必须等待解析器执行到它所在的代码行,才会被解释执行

alert(sum(10,10));
function sum(a, b) {
    return a + b;
}
  • 以上代码完全可以正常运行。因为在代码开始执行之前,解析器就已经通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中。对代码代码求值时,JavaScript引擎在第一遍会声明函数并将它们放到源代码树的顶部。所以,即使声明函数的代码在调用他的代码后面,JavaScript引擎也能把函数声明提升到顶部。
alert(sum(10,10));
var sum = function(num1, num2){
    return num1 + num2;
};
  • 以上代码报错“undefined”,因为在执行到函数所在的语句之前,变量sum中不会保存有对函数的引用,而且,由于第一个行代码就会导致“unexpected identifier”(意外标识符)错误,实际上也不会执行到下一行

  • 除了什么时候可以通过变量访问函数这一点区别外,函数声明与函数表达式的语法其实是等效的

相关文章

  • javascript函数声明与函数表达式的区别

    javascript 函数声明与函数表达式的区别 就一点,函数声明有函数声明提升效果,可以在定义之前就引用,而函数...

  • 函数与作用域

    1.函数声明和函数表达式有什么区别?Javascript 中函数声明和函数表达式是存在区别的,函数声明在JS解析时...

  • level-17

    函数声明和函数表达式有什么区别 (*) 在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其...

  • js函数

    函数声明和函数表达式有什么区别 函数声明: 函数表达式: JavaScript 解释器中存在一种变量声明被提升的机...

  • JS函数与作用域

    函数声明和函数表达式有什么区别 JavaScript 中需要创建函数的话,有两种方法:函数声明、函数表达式,各自写...

  • JavaScript函数与作用域

    函数声明和函数表达式的区别 JavaScript 中创建一个函数,主要有两种方法:函数声明、函数表达式,各自写法如...

  • 函数

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

  • js 任务 3

    1函数声明和函数表达式有什么区别 在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分...

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

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

  • 函数与作用域链

    1.函数声明与函数表达式有什么区别 函数声明: function myFunction(){}函数表达式:var ...

网友评论

      本文标题:javascript函数声明与函数表达式的区别

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