gpt4 book ai didi

javascript - JavaScript 中的三种函数声明到底有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:20 26 4
gpt4 key购买 nike

我知道 Javascript 中有 3 种不同类型的函数声明,我知道细微差别,但我不知道它为什么好,为什么我们需要这三种?

function MyObject{
function SomeName(){}

this.SomeName = function(){}

var SomeName = function(){}
}

最佳答案

function SomeName(){}:您不能将 SomeName 赋值给另一件事;该函数被提升到最近的函数范围,允许您在顶部使用时在代码中进一步声明它

this.SomeName = function(){}:您公开此函数,以便可以通过 MyObject.SomeName 访问它

var SomeName = function(){}:您可以将 SomeName 赋值给另一个东西;变量名被提升到最近的函数范围,但在声明之前使用它会导致 SomeName is not a function 错误

为了好玩,还有

const SomeName = function(){}:您不能将 SomeName 分配给另一个事物;在声明之前使用它会导致 SomeName is not defined 错误

let SomeName = function(){}:您可以将 SomeName 赋值给另一个东西;在声明之前使用它会导致 SomeName is not defined 错误

偏好

就个人而言,我倾向于使用 export function SomeName(){},但当我不立即导出函数时,我倾向于使用 const SomeName = () => {}

关于javascript - JavaScript 中的三种函数声明到底有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52245429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com