js中匿名函数赋值给变量与直接命名函数异同
初学js ES6的过程中,发现将匿名函数赋值给变量的使用方法和直接声明函数的使用方法是一样的,于是就想知道这两种方式的区别。
(1) var init = function() { }; 是函数表达式,函数在代码执行的到当前行的时候才被执行,init 才被赋值。
(2) function init() {} 是函数的声明,和 var 一样,会被提前到代码最前面定义。
test();// 在函数表达式之前调用函数,报错,因为这个时候还没有test这个变量
let test = function() {
console.log("测试哈哈");
}
test();// 可以正常使用,因为test方法被提到最前面进行声明了
function test() {
console.log("测试哈哈");
}
参考:https://blog.csdn.net/zsq199771/article/details/122131928