JavaScriptの変数と関数の巻き上げ


関数と変数における巻き上げの概念を理解しよう


これは初心者に優しいコンテンツです.我々が必要とする唯一の前提条件は、変数と関数の基本的な理解である.
我々が始める前に、JavaScriptがどのように働くかについて理解しましょう.任意のプログラムを実行する前にJavaScript全体のプログラムを通過し、プログラムのグローバル実行コンテキストを作成します.実行コンテキストはJavaScriptが実行される場所です.このグローバル実行コンテキストでは、2つのフェーズがあります.
第1段階はメモリフェーズでも変数環境とも呼ばれる.JavaScriptはメモリフェーズにメモリを割り当てます.すべての変数に対して、プレースホルダ'未定義'を割り当て、全ての関数に関数本体自体を割り当てます.
第2段階はコード実行フェーズである.ここでは、各コマンドラインが順に実行される.

心の中でこれらのものを保つことは、ホイイトに飛び込みましょう


Hoistingは、変数を初期化する前にさえ、エラーなしで変数や関数にアクセスできる現象です.
以下のプログラムを歩きましょう.
console.log(a);
console.log(welcome);
welcome();
var a = 21;
function welcome() {
  console.log('Hoisting in JavaScript...');
}
このプログラムでは、変数' a 'にアクセスし、'ウェルカム'という関数を呼び出します.私たちは初期化する前にこれらのことをしています.
他のプログラミング言語では、多くのエラーが発生します.しかし、これはJavaScriptの場合ではありません.
JavaScriptでは、コンソールで次の行が表示されます.

あなたがこれらの上記の線を見る理由は、ここにあります.
私がイントロで説明したように、JavaScriptはプログラムを実行する前に、それはプログラム全体を通過し、各変数にメモリを割り当て、メモリフェーズで機能します.
グローバルスコープでのプログラムへ
  • Javascriptは、変数' a 'にキーワード'未定義'をメモリとして割り当てました.
  • 関数「ようこそ」の
  • は関数本体そのものを割り当てました.
  • 概要


    JavaScriptは、初期化される前でも、関数と変数をアクセスしましょう.関数宣言のみが呼び出されますが、関数式は定義されません.グローバルスコープで関数を作成し、コード全体で使用できるようにするときに、関数宣言を使用します.関数が使用できる場所を制限する関数式を使用します.