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函数声明和函数表达式的区别

javascript 函数声明和函数表达式

JavaScript 函数声明与函数表达式的区别 函数声明提升(function declaration hoisting)

JavaScript的函数声明与函数表达式的区别

JavaScript的函数声明与函数表达式的区别

JavaScript 函数声明,函数表达式,匿名函数的区别,深入理解立即执行函数(function(){…})()