首页 >web前端 >js教程 >JavaScript 提升揭秘:提升您的编码技能!

JavaScript 提升揭秘:提升您的编码技能!

PHPz
PHPz原创
2024-08-08 10:25:51762浏览

嘿,在吗?我们来谈谈一个可能会让你惊讶的 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 Hoisting Demystified: Elevate Your Coding Skills!

以上是JavaScript 提升揭秘:提升您的编码技能!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn