JavaScript中有几种定义函数的方式?

1个回答

东方 - 资深小编
擅长:互联网技术/编程

总共有四种定义函数的方式,它们每一种都有自己的特点和适用场景。

第一种是声明函数-function,它比较直白,你甚至可以在声明之前就使用,因为JavaScript引擎会自动把声明给提升到作用域最前面。

JavaScript中有几种定义函数的方式?

不过,如果你偷懒,在同个作用域里重复声明了,后者会把前者给盖过去哦。

第二种是函数表达式,就是将一个匿名函数赋值给一个变量,然后使用这个变量名调用,比如var bar = function() {...}

和函数声明不同的是,这种写法不会被提升,必须先定义再使用。

它的好处是可以创建自注入函数和私有作用域,用以保护内部变量。缺点是代码多了一些,显得不太简洁。

第三种方式是箭头函数,用胖箭头=>来定义函数体,比如const baz = () => {...}。写起来简洁有力,让代码看着特别洗眼。而且,它还自动绑定了this,省去了不少麻烦。

当然,它也有缺陷,比如不能做构造器,也用不了arguments对象。所以你得三思而后用哦。

第四种是Function构造函数,这是最动态的定义函数方式,参数和函数体都用字符串表示,可在运行时动态构建。

它会引发额外的代价开销,新手最好别用,除非是对性能要求超级高的场景。

讲完啦,记住,函数的定义方式多种多样,选择它们的时候别只看表面功夫,要看适用的时机。哪天在代码中遇到问题,想想今天我这一席话,可能对你有帮助。