というグローバル変数に日付を格納していますMyDate
。これを書くと:
var TheDate = MyDate;
for (var i = 5; i > 0; i--) {
TheDate = TheDate - i;
}
私は変化しているだけですか、それともTheDate
私も変化していMyDate
ますか?
ありがとう。
というグローバル変数に日付を格納していますMyDate
。これを書くと:
var TheDate = MyDate;
for (var i = 5; i > 0; i--) {
TheDate = TheDate - i;
}
私は変化しているだけですか、それともTheDate
私も変化していMyDate
ますか?
ありがとう。
TheDate のみが変更されます。
これは、実行するとTheDate = TheDate - i
TheDate が Date オブジェクトとして扱われなくなり、代わりに長いためです。
あなたはそれを簡単にチェックすることができます
var TheDate = MyDate;
for (var i = 5; i > 0; i--)
{
TheDate = TheDate - i;
alert("TheDate = " + TheDate);
alert("MyDate = " + MyDate);
}
オブジェクトは参照によるものであるため、両方の変数が変更されます。
ifMyDate
がオブジェクト:yes、ifがスカラー:no