嘿,在吗?我们来谈谈一个可能会让你惊讶的 JavaScript 概念——提升! ?
提升是关于 JavaScript 在编译阶段如何处理变量和函数声明的。基本上,它将它们移动到作用域的顶部,甚至在代码执行之前。等等,什么!
那么,这在实践中意味着什么呢?
好吧,假设您有以下代码:
`console.log(myVar); var myVar = "Hello, world!"; // It outputs: `undefined`
即使您尝试在声明之前记录 myVar,代码仍然可以正常运行,不会出现任何错误。这是因为在内存创建阶段,myVar 被分配了一个默认值 undefined。 (你可以参考我上一篇文章,我写了关于 JavaScript 如何工作的文章。)
我们再举一个例子:
myFun();
function myFun() { console.log("我很有趣"); }
在这种情况下,整个函数将存储在内存中。如果你控制台它( console.log(myFun) ),你会看到整个函数将打印出来或运行,并且它将输出 I am FuN。
很酷,对吧?提升可能会对您的代码产生一些有趣的影响,因此了解它的工作原理非常重要。 ?如果您有任何其他想要讨论的 JavaScript 概念,请告诉我!
最后箭头函数怎么样? ???
它也被视为变量,将整个函数存储在其中。当您尝试在声明之前调用 myFun() 时,您将遇到错误。
这是一个例子:
`console.log("Before declaration myArrowFun: ", myArrowFun) var myArrowFun = () => { console.log("I am Arrow FuN"); } console.log("After declaration myArrowFun: ", myArrowFun) console.log("Call declaration myArrowFun: ", myArrowFun())`
以上是JavaScript 提升揭秘:提升您的编码技能!的详细内容。更多信息请关注PHP中文网其他相关文章!