此功能(“独立”功能)有什么区别?
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语法吗?
对于表达我的问题,也请不要拒绝任何建议。
感谢所有花时间阅读本文的人。
答案 0 :(得分:-1)
第一个是函数声明,它将为hoisted。第二个是命名函数表达式,但我认为在这种情况下,匿名函数表达式会更好,因为无需命名函数,例如let variableFunction = function() {…}
。
请参阅What is the difference between a function expression vs declaration in JavaScript?