1. 函数声明与函数表达式

  解析器在像执行环境中加载数据时,会先读取函数声明,并使其在执行任何代码之前都可以访问,对于函数表达式,必须等到解析器执行到它所在的代码行,才会真正被执行。

  例:   

alert(sum(10,10));
function sum(n,m){
return n + m;
}

   以上代码可以正常运行,因为解析器通过函数声明提升的过程,读取并将函数声明添加到执行环境中。

  而当使用函数表达式时:

alert(sum(10,10));
var sum = function (n,m){
return n + m;
}

  程序在执行到函数所在的语句之前,变量sum中不会保存对函数的引用,而且第一句话就会导致 "unexpect identifier"(意外标识符)错误,并不会继续执行。

  除了什么时候可以通过变量访问函数之外,函数声明与函数表达式的语法其实是等价的。

  

最新文章

  1. Java的Json解析包FastJson使用
  2. IBAction和IBOutlet
  3. Uva 1629 切蛋糕
  4. truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件
  5. ELF Format 笔记(七)—— 符号表
  6. day11_API第一天
  7. 使用虚幻引擎中的C++导论(四-内存管理与垃圾回收)(终)
  8. GSS3 SPOJ 1716. Can you answer these queries III gss1的变形
  9. mysqltuner
  10. android httpClient 支持HTTPS的访问方式
  11. C++-struct类的新特性当class用
  12. SQLSERVER实现更改表名,更改列名,更改约束代码
  13. FTP命令具体解释(含操作实例)
  14. Transformer【Attention is all you need】
  15. python列表中的pop函数
  16. L3-2 森森快递 (30 分)(贪心+线段树/分块)
  17. python全栈开发day55-mysql外键的三种变种
  18. git 命令(基础篇)的本质理解
  19. 关于Excel分析图插入到论文的问题
  20. Centos6.4下安装protobuf-c问题及解决办法

热门文章

  1. specialized English for automation-Lesson 3 CMOS Logic Circuit
  2. 收集前端UI框架 持续更新中....
  3. 小谈python装饰器及numba的基本使用
  4. Julia 语言的一些尝试
  5. 初试 Julia 语言 (转)
  6. BZOJ1233 [Usaco2009Open]干草堆tower 和 BZOJ3549 [ONTAK2010]Tower
  7. hasura graphql 引擎基本试用
  8. C语言使用pthread多线程编程(windows系统)二
  9. cocos2dx ui显示机制
  10. 采用轻量ServiceMesh实现灰度发布的实践