javascript 中的函数声明和函数表达式区别
函数声明格式:
1 function add(a, b) { 2 alert(a+b); 3 }
函数表达式格式:
1 var add = function (a, b) { 2 alert(a+b); 3 }
解析器在向环境中加载数据时,对函数表达式和函数声明就像一个男人对原配和对小三.当然是先满足原配,在去照顾小三.解析器会通过"函数声明提升过程",读取并将函数声明添加到执行环境中.
所以声明函数的代码在调用他的代码的后面,也能正常执行.但是函数表达式就没有这个待遇了.当一个男人先满足小三,再去满足自己的老婆,肯定是要出问题的啦
1 //可以正确执行 2 add(1, 3); 3 function add(a, b) { 4 alert(a+b); 5 }
1 //不可以正确执行,报错: add is not a function; 2 add(1, 3); 3 var add = function (a, b) { 4 alert(a+b); 5 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。