javascript中的函数声明、函数提升、函数表达式

118 阅读2分钟

这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

写在前面:

  • 个人前端网站:zhangqiang.hk.cn
  • 欢迎加入博主的前端学习qq交流群::706947563专注前端开发,共同学习进步

0 前言

之前在js里面写函数调用时意外,我在程序下面定义了个函数,然后在这个函数上面调用它,竟然调用不成功!? 几经周转,然后就了解到了函数声明、函数提升、函数表达式这个知识点(以前应该知道,但是现在更深刻)。

在这里,大家也可以先了解一下变量提升的概念:

JavaScript: 变量提升和函数提升:www.cnblogs.com/liuhe688/p/…

我认为这个也有助于本章的学习理解。

1 函数声明:

function f(){ 函数体;}

如上代码,我们用function定义并声明了一个函数,函数名为f,当我们在这个函数的上面或下面写 f();这个语句的时候,都是可以调用这个函数的。但是正常这个情况下,我们应该先声明再调用的嘛,那么这就涉及到函数提升的概念啦(看下面那个知识点)。哎嘿,只有这种写法是可以函数提升的,但是正常情况下我们都是采用的第3个知识点(函数表达式)的写法。

2 函数提升:

函数声明能在其所在作用域的任意位置被调用,但是在其声明后面才能进行变量赋值(函数表达式)。

3 函数表达式:

const f = function(){ 函数体;}

如上代码,这是一个函数表达式,函数表达式可以存储在变量或者对象属性中,我们要调用它只能在它的下面调用,调用的写法为f();

好啦,本次就记录这么多了~ 如果你有什么收获或感想欢迎在博客下方留言一起讨论哈~~

参考:

js声明函数的几种方式:blog.csdn.net/qq_35415307…