吊装如何在JavaScript中工作?
提升是一种JavaScript机制,其中在编译阶段将变量和函数的声明放入内存中。这意味着无论在何处声明函数和变量,无论它们的作用域是全局的还是局部的,它们都将移至其作用域的顶部。
但是,该值不随声明一起使用。
以下代码段:
console.log(hoist) var hoist = "value"
等效于:
var hoist console.log(hoist) hoist = "value"
因此 ,将hoist 输出 记录 undefined到控制台,而不是 "value"。
提升还允许您在函数声明在程序中似乎被声明之前调用它。
myFunction() // No error; logs "hello" function myFunction() { console.log("hello") }
但是要警惕分配给变量的函数表达式:
myFunction() //错误:`myFunction`不是函数 var myFunction = function() { console.log("hello") }
概括
提升是JavaScript将声明移到顶部的默认行为
函数声明先于变量声明
其他连结
MDN吊装文档
了解JavaScript中的吊装