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

来源:互联网 发布:铃声助手mac版下载 编辑:程序博客网 时间:2024/04/29 08:10
  console.log(a)   //undefined  var a=10  console.log(sum1(1,2))     //3  function sum1(num1,num2){    return num1+num2  }console.log(sum2(1,2))  //Uncaught TypeError: sum2 is not a function  var sum2=function(num1,num2){    return num1+num2  }

代码开始之前,解析器已经通过一个名为函数声明提升的过程,读取并且将函数声明添加到执行环境中;对代码求值时,JS引擎在第一遍会声明函数并且将它们放到源代码树的顶部;所以即使声明函数的代码在调用它的代码后,JS引擎也能把函数声明提升到顶部;
函数表达式,则会在执行期间导致错误;

原创粉丝点击