函数表达式

2017-03-18  本文已影响0人  codeffee

定义函数的方法有两种:函数声明和函数表达式

类似这样的就是函数表达式

var x = function () {
   alert(1);
};

两者有什么不同?

函数表达式可以忽略标识符,不需要取名字

最重要的差别:

函数声明会提升,在执行代码之前会先读取函数名称。这就意味着可以把函数声明放到调用它的语句后面。但函数表达式不能。

f();
  
var f=function(){
    alert(1);
}
//这样会报错

如下就不会报错,代码会正常运行

f();

function f(){
    alert(1);
}

解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用。至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解析执行。--摘红宝书

上一篇 下一篇

猜你喜欢

热点阅读