1. 函数声明与函数表达式ide
解析器在像执行环境中加载数据时,会先读取函数声明,并使其在执行任何代码以前均可以访问,对于函数表达式,必须等到解析器执行到它所在的代码行,才会真正被执行。函数
例: spa
alert(sum(10,10)); function sum(n,m){ return n + m; }
以上代码能够正常运行,由于解析器经过函数声明提高的过程,读取并将函数声明添加到执行环境中。code
而当使用函数表达式时:blog
alert(sum(10,10)); var sum = function (n,m){ return n + m; }
程序在执行到函数所在的语句以前,变量sum中不会保存对函数的引用,并且第一句话就会致使 "unexpect identifier"(意外标识符)错误,并不会继续执行。io
除了何时能够经过变量访问函数以外,函数声明与函数表达式的语法实际上是等价的。function