なぜそれは私が次の操作を実行したときにということである。右手側ではなく左手側にパラメータを渡す違いは何ですか?
var a = 1;
function foo(a) {
a = 2;
}
foo();
console.log(a); // a = 1
しかし、私は次のように異なる結果を得る:a
場合
var a = 1;
function foo() {
a = 2;
}
foo();
console.log(a); // a = 2
「jsグローバルスコープとローカルスコープ」を検索すると、 – RomanPerekhrest
[JavaScriptの可変シャドウイングの例]の可能な複製が作成されます(https://stackoverflow.com/questions/11901427/an-example-of- variable shadowing-in-javascript) – Andreas
または、関数の 'a = 2'が' var a = 2'に変更されている点を除いて、2番目の例に基づく3番目の例はどうですか? – j08691