0

私はこれを何百万通りも書き直そうとしましたが、Tony Alicea がこのコードから結果 1, 2, undefined, 1 を生成する方法を理解できません。

function b() {
    var myVar;
    console.log(myVar);
}

function a() {
    myVar = 2;
    console.log(myVar)
    b();
}

var myVar = 1;
console.log(myVar);
a();
console.log(myVar);

https://www.youtube.com/watch?v=Bv_5Zv5c-Ts&t=74m30sでコードとビデオを見ることができます。彼はこれを実行し、1、2、undefined、1 を生成します。私はそれを実行し続け、1 を取得します。 2、未定義、2. グローバル スコープと a() のスコープの両方で myVar が 2 として存在する原因となる何かがありますか? 私のコードは現在https://testing-mdmitchellnyc.c9.io/hello-world.htmlに投稿されています。

4

1 に答える 1

6

function a()する必要があります

function a() {
    var myVar = 2;
    console.log(myVar)
    b();
} 

現在の方法は、独自のスコープを作成するのではなくfunction a()、グローバルを上書きすることですmyVarmyVar

于 2015-06-24T19:32:52.097 に答える