js定义函数的两种方法及区别

时间:2017-09-25
javascript定义函数有两种方法,分别为函数声明,函数表达式(又叫函数字面量),本文章向大家介绍这两种方法如何定义函数以及这两种方法定义函数有什么区别,需要的朋友可以参考一下。

js定义/创建函数的两种方法:

  1. 函数声明法
  2. 函数表达式法

函数声明法

函数声明法的基本格式为:

function functionTwo() {
    // Some code
}

如:

function fn(){
  console.log("Hello");
}

函数声明法是非常基本的、并且是常用的一种创建函数方法,它和C语言系列的许多语言和标准是一样的。我们声明定义一个函数,并通过调用它来执行。

你应该知道的是,函数实际上是JavaScript中的对象; 在内部,我们创建了一个函数的对象,并给它一个名为fn的名称,或者对象的引用存储在fn中。函数是JavaScript中的对象; 函数实例实际上是一个对象实例。

函数表达式法

函数表达式法定义/创建函数的基本格式如下:

var functionOne = function() {
    // Some code
};

如:

var fn=function(){
  console.log("Hello");
}
fn();

JavaScript具有一流的功能,即创建一个函数并将其分配给变量,就像创建一个字符串或数字一样,并将其分配给一个变量。这里,fn变量被分配给一个函数。这个概念的原因是JavaScript中的对象; fn指向上述函数的对象实例。我们已初始化一个函数并将其分配给一个变量。它不执行功能并分配结果。

二者区别

函数表达式法创建的JS函数,只有当代码运行到该行时,函数才会被定义,也就是说,在这个函数没定义之前是不能调用这个函数的,否则会出错,找不到该函数。

函数声明法创建的函数,解析器会先读取函数,然后才去执行其他的代码,也就是说该函数在执行任何代码之前是可以访问。