JavaScriptの関数宣言
1006 ワード
JavaScriptの変数はコードのトップステートメントで提案されています.変数宣言の作用領域の問題をテストしたいですが、ついでに関数宣言の違いを影響させたくないです.上のコード:
ここの運行結果はundefinedなどを出すべきだと思いましたが、意外に'f'が出てきました.f関数を宣言するように変更しました.
想像の効果を達成しました.undefined.
頭の中の変数を宣言する理論は間違っていません.関数宣言方式の異なる知識の穴をあけました.よくある種の面接問題が答えを呼んでいます.
これらの問題の答えは、2つのステートメント関数の方法でロードされる時間帯が異なり、前者(var)は実行時にロードされますが、後者は「解釈期間」でロードされます.ここは思い切って美を略奪しないで、ここですから見たのです.XD
「説明期間」と「実行期間」の詳細については分かりませんが、エンジンについてはjs解釈の細部過程についてはもっと深く研究する必要があります.
...{
f();
function f(){
alert('f');
}
}
ここの運行結果はundefinedなどを出すべきだと思いましたが、意外に'f'が出てきました.f関数を宣言するように変更しました.
...
var f = function(){
alert('f');
}
...
想像の効果を達成しました.undefined.
頭の中の変数を宣言する理論は間違っていません.関数宣言方式の異なる知識の穴をあけました.よくある種の面接問題が答えを呼んでいます.
var f = function (){
alert(1);
};
function f(){
alert(2);
}
f();
// ?
これらの問題の答えは、2つのステートメント関数の方法でロードされる時間帯が異なり、前者(var)は実行時にロードされますが、後者は「解釈期間」でロードされます.ここは思い切って美を略奪しないで、ここですから見たのです.XD
「説明期間」と「実行期間」の詳細については分かりませんが、エンジンについてはjs解釈の細部過程についてはもっと深く研究する必要があります.