最近看了一篇文章 是关于 js函数声明的 ,讲的很透彻。加深一下对这两种声明的理解。
js 当中有两种声明函数的方法,分别为:
var a = function() {
// Some code
};
function b() {
// Some code
}
为什么会有两种不同的方法呢? 每个方法的优缺点分别是什么呢?应用的场合呢?
不同点在于 a 只会在到达赋值的那一行才会被真正的定义,而 b 会在包含它的函数或script脚本 执行的时候马上被定义
<script>
//错误 undefined
a(); //此时的a是没有被定义的
var a = function() {
};
// 不会报错
a(); //在这里a已经被定义完了
</script>
<script>
// No error
b(); //不会报错 b 会马上被定义
function b() {
}
</script>