函数声明与函数表达式

2019-06-27  本文已影响0人  SingleDiego

Javascript 中有两种定义函数的方法:

  1. 函数声明(Function Declaration)
function sayHello() {};
  1. 函数表达式(Function Expression)
const sayGoodbye = function() {};




他们之间有什么区别呢?首先函数声明是会被自动提升的,比如你可以在声明前调用函数:

sayHello()

function sayHello() {
  console.log('hello')
}

结果:

// hello

而与之相对,函数表达式不会被提升。

sayGoodbye()

const sayGoodbye = function() {
  console.log('good bye')
}

报错:

Uncaught ReferenceError: sayGoodbye is not defined




与之对应的类(Class)也能用类声明和类表达式两种方法表示。

  1. 类声明
class Circle {
}
  1. 类表达式
const Square = class {
}

不同于函数,类声明和类表达式都不会被提升。

上一篇 下一篇

猜你喜欢

热点阅读