私がこれを行う場合:
var a = 0;
(function () {
var a = a; //want to make local a = global a
++a;
console.log("fn",a);
})();
console.log(a);
出力は次のとおりです。
fn NaN
0
なぜa
自己実行関数の内部がなるのNaN
ですか?
私がそうすればそれがうまくいくことを私は知っています:
(function () {
var b = a;
++b;
console.log("fn",b); // fn 1
})();
しかし、私が最初のバージョンの道を行くと、それはNaN
問題を抱えています。
なぜこうなった?