私は両方とも同じ値true
を返すべきであると考えているだろう、なぜ次戻り一貫性のない値オブジェクトのプロパティの名前変更
(function(ab, $, undefined) {
ab.cool = {
nice: {
funky: {
sweet: false
}
}
};
var reVal = ab.cool.nice.funky.sweet;
reVal = true;
console.log(reVal); //equals true
console.log(ab.cool.nice.funky.sweet); //equals false
}(window.ab = window.ab || {}, jQuery));
に関する質問がありますか?
これがなぜ発生するのか説明してもらえますか?それらは異なる特性と考えられていますか?
ありがとう。 'var reVal = ab.cool.nice.funky;'を使って 'reVal.sweet = false;'を使う方が良いでしょう。 – Andy
両方のシンボルから同じ値を制御できるようにしたい場合は、それが解決策です。 –
広範囲に言えば、混乱を避けて可読性を高めるために同じオブジェクトへの参照を最小限に抑えることがベストプラクティスです。したがって、オブジェクトへの参照が1つあれば、絶対に必要としない限り別のオブジェクトを作成しないでください。クロージャの外側の値にアクセスする必要がある場合は、クロージャの上にそれを公開し、その参照をコピーしないでください。 –