我应该用JavaScript挂机吗?

Sen*_*chi 4 javascript hoisting hoist

我正在学习JavaScript,我觉得我理解提升得体,所以我不会问它是什么,或者怎么做,或类似的东西.

提升是否好?如果可以,我应该使用声明我的变量

var foo = function() {};
Run Code Online (Sandbox Code Playgroud)

或者我应该使用它吗?

function foo() {}
Run Code Online (Sandbox Code Playgroud)

我什么时候应该提升,什么时候不应该?或者它甚至是否重要?

Ken*_*eth 5

吊装不是你可以做或不做的事情,它只是在JavaScript中发生.

提升是指所有变量声明都"移动"到包含范围的顶部.

你在谈论的是使用函数表达式与函数声明.两种风格都很好,只要记住它们在悬挂的东西上有一点不同:

var foo = function() {} // foo gets hoisted, but not the function itself

function foo(){}        // the variable and the function get hoisted
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以查看我写的关于使用JavaScript提升的文章:http://www.kenneth-truyers.net/2013/04/20/javascript-hoisting-explained/