JavaScript函数声明和函数表达式区别

快乐打工仔 分类:实例代码

JavaScript函数声明和函数表达式区别属于前端实例代码,有关更多实例代码大家可以查看

JavaScript中有两种方式创建函数:

(1).函数声明方式。

(2).函数表达式方式。

两者作用应该没有异议,都可以创建一个函数,但是两者的区别也是巨大的。

一.函数声明:

所谓的函数声明就是以正规的语法方式创建一个函数:

function functionName(){
  //code
}

函数声明的语法格式是固定的,必须是function关键字+函数名称+小括号()+大括号的函数体内容。

再来看一段代码:

func();
function func(){
  console.log("前端教程网");
}

JavaScript代码是顺序执行的,但func函数依然可以正常执行,因为函数声明有提升效果。

关于声明提升可以参阅JavaScript变量和函数声明声明前置一章节。

二.函数表达式:

关于表达式的概念可以参阅JavaScript 表达式一章节。

所谓的函数表达式其实就是函数声明存在于一个表达式语句中,可以是具名的函数,也可以是匿名函数函数。

看一段代码实例:

func()
var func=function(){
  console.log("前端教程网");
}

上面的代码会报错,因为通过表达式方式创建一个函数,将函数对象赋值给变量func,变量声明在预编译阶段是前置,但变量的赋值是发生在运行时阶段,所以当调用func函数的时候,变量还没有被赋值,再来看一段代码:

newFunc();
var newFunc=function func(){
  console.log("前端教程网");
}

上面代码是一个不伦不类的表达式方式,当然实际中没有人这么用。

其实表达式方式就是将一个函数对象赋值给一个变量,然后再使用此变量调用函数,就是一个简单的赋值语句。

更多关于表达式方式声明函数可以参阅JavaScript 小括号()分组运算符一章节。

JavaScript函数声明和函数表达式区别,这样的场景在实际项目中还是用的比较多的,关于JavaScript函数声明和函数表达式区别就介绍到这了。

回复

我来回复
  • 暂无回复内容