一些js知识点总结

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"(意外标识符)错误,并不会继续执行。

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

  

posted @ 2017-04-05 14:28  笑点非常高  阅读(138)  评论(0编辑  收藏  举报