js中函数声明、函数表达式、匿名函数的区别

1、函数声明:

函数声明代码格式为:

function myFn(){};

函数声明是指关键字function后面有标识符,给函数声明了name属性,在执行代码之前会先读取函数声明,因为函数声明的声明提升特性,可以将函数代码写在调用函数代码后面。例:

//在执行代码之前会先读取函数声明,会发生函数声明提升

myFn('小明');            //发生了函数声明提升,所以可以在函数之前调用函数

function myFn(name){     //函数声明每个函数都有一个name,
  console.log(name);     
};

2、匿名函数:

匿名函数格式为:

function (){};

匿名函数是指function关键字后面没有标识符,匿名函数的name属性为空字符串,一般不会单独使用。

3、函数表达式

函数表达式常见的格式为:

let myFn = function(){};

函数表达式是创建一个匿名函数并将它赋值给变量,不会发生函数声明提升,执行到当前行时才会创建函数,所以不能将调用函数代码写在函数代码后面。例:

// myFn('小明');      //在函数代码之前调用会报错

let myFn = function (name){
  console.log(name);
};

myFn('小明');        //可以正常调用,

以上内容仅为本人个人理解,如有错误之处,还请各位大牛指正!!!

你可能感兴趣的:(js,javascript,前端,开发语言)