首頁 > web前端 > js教程 > JavaScript 提升揭密:提升您的程式設計技能!

JavaScript 提升揭密:提升您的程式設計技能!

PHPz
發布: 2024-08-08 10:25:51
原創
768 人瀏覽過

嘿,在嗎?讓我們來談談一個可能會讓你驚訝的 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板