がんばって


がんばって


コンセプト


「昇進」の概念がある


リフト変数リフト関数


コードのエスケープは表示されない概念です。覚えておいてください。


へんすうかそく

console.log(a);

var a;

シーケンスにaという変数を作成する前に、コンソールでnotdefinedというエラーを検索するべきではありませんか?という疑問があります。


結果は次のコンソールに間違いはありませんでしたロゴを書くのと同じ結果undefined


これを変数加速と呼び,変数を昇格させる.



グローバル変数が作成されている場合、その変数は、作成後に検索するか、作成前に検索するかにかかわらず、任意の場所の変数にアクセスできます。


変数カバーの記憶上の注意点


初期化時にドラッグアンドドロップ機能自体は発生しません


最初のコンソールにundefinedが表示されます


シースは、変数を宣言した場合にのみ表示され、初期化時には初期化値自体は上昇しません。

var a;

console.log(a);

a = "나는 A다"

console.log(a); 

変数を宣言しながら初期化すると?


同様に、どうせステップは宣言と初期化が分離された場合に行われるので、結果は同じである。


変数が宣言されたときだけ引き上げられます。

console.log(a);

var a = "나는 A다"

console.log(a);

関数の加速


関数を呼び出すと、関数を作成できます。


これもハウスティンで、関数自体は上向きの状態なので、艦長は全く問題ありません。

func1();

function func1() {
	console.log("Func1 함수다.");
}

注意点


関数の作成時にfunctionキーを使用し、関数の横に関数名を作成したり、varキーを使用して変数を作成したり、変数の値に関数を渡したりすることができます。


変数名を関数名に置き換える


構造は異なりますが、同じように動作します。

var func2 = function () {
	console.log("Func2 함수다");
}

func2();

関数を作成する前に、関数ではなく呼び出せないというエラーが発生します。


エラーの原因はvarfunc 2が変数であるため、値を割り当てる前に変数hostingが上にドラッグして未定義の状態にします。

func2();

var func2 = function () {
	console.log("Func2 함수다");
}

関数エスケープは、変数に関数を割り当てないように(functionfun 1(){}を作成する場合に可能です。


変数を作成して変数に関数を割り当てる方法で関数を作成すると、関数反発は発生しません。


これは変数のエスケープのルールのためです