函数分解之间的差异



这(一个"独立"函数(与有什么区别

function standaloneFunction () {
console.log('standaloneFunction runs, success')
}
standaloneFunction()

这个(变量内部的函数(:


let variableFunction = function variableFunction () {
console.log('function inside let has same name as the variable, runs? - yep, does.')
}
variableFunction() 

变量和函数同名是否有问题?看起来并不是这样——我推测这是因为它与变量如何有关功能是否保存在内存中?函数的整体,而变量只是它们的声明?

当我执行console.log(this(时,在执行中找不到"variableFunction"this"的上下文-但是,"standaloneFunction"确实出现了。

作为一个初学者,你是否也问过自己这样的问题?我是不是对这些细节太挑剔了?

我应该已经使用es6语法吗?

也请不要对阐明我的问题提出任何建议。

感谢所有花时间阅读本文的人。

第一个是函数声明,它将被提升。第二个是命名函数表达式,但我认为在这种情况下匿名函数表达式会更好,因为不需要命名函数,例如let variableFunction = function() {…}

请参阅JavaScript中的函数表达式和声明之间的区别是什么?

最新更新