js函数
JS中函数主要分为声明式函数和赋值式函数
声明式函数
1 | function 函数名 () { |
对于声明式函数来说,有函数的提升,并且函数名重复的话后面的会覆盖掉前面的,其实这也引出了js中的重载问题。。。这就是后话了。。(js中没有真正意义上的重载)
1 | fn() |
以下例子会输出什么结果呢?
1 | console.log(a) |
输出的结果应该是这样的
1 | console.log(a) // f a () { console.log(6) } |
那么为什么会出现以上的结果呢?
首先我们要知道函数的提升和变量的提升,理论解释百度一大堆,这里用代码例子说明一下:
1 | // 在上面的例子中定义了一个变量a,一个函数a |
对于声明式函数,还有一个很有意思的例子:
1 | function fn () { |
赋值式函数
赋值式函数也叫函数表达式
不会出现函数提升的现象
1 | fn() // 报错 |
但是有一个很有趣的现象
1 | let fn = function f (n) { |
本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Charles's Blog!