2017-01-06 12 views
0

「関数宣言と変数宣言は、JavaScriptインタプリタによって、スコープの上部に目に見えないように常に表示されます。 - 。関数宣言と変数宣言が呼び出されました。

しかし、最初に揚げたのはどちらですか?

誰かがSegmentFaultで私に尋ねた結果、私は彼に正確な答えを与えるべきです。

+0

事実上、それはどのような違いを生むん最初に掲揚されていますか? – deceze

+1

どうしたらいいですか? 「ホイスト」は混乱する概念です。このように、「varまたは関数宣言で宣言された変数のスコープは、関数全体である」という方が簡単です。編集:それはより複雑になる(そしてたぶん問題を正当化する)ということは、変数 "equivalent"とは反対に、変数宣言が代入で動くことです。 –

答えて

-1
function test() { 
    return foo; 
    var foo = true; 
    function foo(){} 

} 

console.log(typeof test()) // function 

機能が See here for more informations

+0

これはホイストしていません –

+1

これは何も証明しません。 'foo = true'という代入は、関数があらかじめ返ってくるので決して実行されません。 –

+0

割り当ては実際には実行されません。 – Axnyff

関連する問題