功能差异之间的差异

时间:2020-07-15 18:53:26

标签: javascript syntax this

此功能(“独立”功能)有什么区别?

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语法吗?

对于表达我的问题,也请不要拒绝任何建议。

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

1 个答案:

答案 0 :(得分:-1)

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

请参阅What is the difference between a function expression vs declaration in JavaScript?