在维护和编写代码的时候,经常会遇到如下两种定义函数的方式,不知道这两种函数声明有什么区别?
var functionOne = function() {
// Some code
};
function functionTwo() {
// Some code
}
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第一种叫函数字面量,即将一个变量指向一个匿名函数
第二种是声明函数,指定函数名
由于js中存在变量提升,第一种容易引发一些问题,如在定义函数字面量之前就使用该函数,所以推荐使用第二种方法
第一种:函数表达式
第二种:函数声明
基本上没有区别。 使用函数声明的方式会在执行时使之提前。也就是你再代码最下面声明一个函数,在代码开始的位置也可调用到。
如果追究函数或变量方面,大体上说的都一样,意思差不多;我总结得浅显易懂一点:
如果要从头引用就是用 var fn = function (){}来定义;
如果你完成了整个JS,忘记了或者想加入一个变量 fn 来使用,你就可以再后面写
function fn () {...};
我只是在前面那个7.7K添加自己的观点,关键还是得知道前面说的。
新人一个,闻过则喜。