Javascript 功能衰退之间的差异

Javascript 功能衰退之间的差异,javascript,syntax,this,Javascript,Syntax,This,这两者之间的区别是什么(“独立”功能): …这(变量中的函数): 变量和函数共享同一个名称是否有问题? 看起来不是这样的——我推测这是因为它与变量之间的关系 功能是否保存在内存中?函数的整体,变量的声明 当我执行console.log(这个)时,我在执行中找不到'variableFunction' “this”的上下文——然而,“standlonefunction”确实出现了 作为一个初学者,你也问过自己这样的问题吗?我是不是对这些细节太挑剔了 我应该已经使用es6语法了吗 请不要对我的问题提出

这两者之间的区别是什么(“独立”功能):

…这(变量中的函数):

变量和函数共享同一个名称是否有问题? 看起来不是这样的——我推测这是因为它与变量之间的关系 功能是否保存在内存中?函数的整体,变量的声明

当我执行console.log(这个)时,我在执行中找不到'variableFunction' “this”的上下文——然而,“standlonefunction”确实出现了

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

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

请不要对我的问题提出任何建议


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

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


请参见

这是ES6语法。您可能指的是被称为“arrow函数”的
()=>{}
语法,但即使类似,它们也不等同于普通函数。您会注意到,如果在函数内部用其他值覆盖
let
变量,则名称仍将引用该函数。这是因为命名函数表达式的名称的作用域是函数的内部,所以在编写时,内部名称隐藏了外部
let
变量名称。这不是打字错误。通过删除名称,它不再是命名函数表达式。您现在只需将匿名函数分配给变量。谢谢!我指的是一个匿名函数表达式,我认为作者需要它,因为函数名与变量相同。将编辑我的答案。
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()