JavaScript中函数声明和函数表达式的区别
Posted hq12345
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中函数声明和函数表达式的区别相关的知识,希望对你有一定的参考价值。
声明一个函数:
var x=1;
foo();
function foo() {
console.log(x);//1
}
myfun();//报错
定义一个函数表达式:
var myfun=myfoo() {
console.log(x);
}
函数作为javascript的一等公民,声明函数时会把函数提升至作用域顶部,而函数表达式这不会,代码从上至下依次执行,必须等定义好函数表达式之后才能执行调用函数的方法。
声明变量也是如此:
var num=123;
等同于:
var num;//var定义变量会变量提升至作用域顶部
alert(num);//undefined
num=123;
alert(num);//123
以上是关于JavaScript中函数声明和函数表达式的区别的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 函数声明与函数表达式的区别 函数声明提升(function declaration hoisting)