首页 文章

Javascript吊装,功能泄露[重复]

提问于
浏览
1

这个问题在这里已有答案:

在javascript中,将变量赋值给函数声明的目的是什么?

var test = function(){console.log("Hello world")}

过度

function test(){ console.log("Hello world")

另外,我不明白下面的代码不起作用 . 是因为吊装不关心变量赋值吗? (仅关注变量声明)

vartest();
var vartest = function(){
  console.log("Hello var function")
}

1 回答

  • 0

    第一部分不负责任 . 没有“单一目的”,并且有各种各样的用例 .

    第二部分更简单 . 吊装可以描述为“拉起声明” . 这意味着变量和函数实际上总是在其范围的顶部声明 . 这并不意味着它们在顶部被赋值 . 值在“预先提升”声明的原始位置分配 . 但是,由于命名函数未赋值,因此提升有效地将声明和实现作为整体移动到范围的顶部 .

    分配给变量的函数不会发生这种情况,因此代码“不起作用” .

相关问题