目录
  • 一、写法不一样
  • 二、函数声明加载
  • 三、分析浏览器如何执行代码

一、写法不一样

 //函数声明
  let res1 = sum1(10 , 20)
  console.log(res1)
  function sum1(num1, num2) {
      return num1 + num2
  }

  //函数表达式
  let res2 = sum2(10 , 20)
 console.log(res2)
 let sum2 = function ( num1, num2 ){
     return num1 + num2
 }

二、函数声明加载

函数声明可以把函数预加载,而表达式不会

以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用。

JavaScript函数声明和函数表达式的区别

三、分析浏览器如何执行代码

第一步:分析函数声明

在分析网页期间(执行任何代码之前),浏览器查找函数声明。找到函数声明时,浏览器创建相应的函数,并将得到的函数引用赋给与函数同名的变量。

JavaScript函数声明和函数表达式的区别

第二步:浏览器执行代码

处理所有的函数声明后,浏览器回到代码开头,开始按从头到尾的顺序执行代码。

JavaScript函数声明和函数表达式的区别

第三步:继续执行

处理完变量fly后,浏览器继续往下执行。接下来的语句是函数quack的声明,因为已经处理过了,所以浏览器跳过声明,接着执行后面的条件语句。

JavaScript函数声明和函数表达式的区别

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。