Javascript Dateタイプの値伝達と引用伝達問題
928 ワード
新しいDateタイプの変数d 1を作成します.
Fri Sep 05 2014:40:50 GMT+0800
もう一つの変数d 2を作成して、d 1の値をd 2に割り当てます. d 2の年を2013に設定し、
Thu Sep 05 2013 16:40:50 GMT+0800
Thu Sep 05 2013 16:40:50 GMT+0800
以下のように変更しても、d 2をDateタイプとして宣言します.結果は同じです.
「=」の記号を使って直接に対象に値を付けるという方法は、自分の予想とは違った結果になる可能性があります.
var d1 = new Date();
alert(d1);
実行後のページに表示されます. Fri Sep 05 2014:40:50 GMT+0800
もう一つの変数d 2を作成して、d 1の値をd 2に割り当てます. d 2の年を2013に設定し、
var d2 = d1;
d2.setFullYear("2013");
alert(d1 + "/" + d2);
実行後のページに表示されます. Thu Sep 05 2013 16:40:50 GMT+0800
Thu Sep 05 2013 16:40:50 GMT+0800
以下のように変更しても、d 2をDateタイプとして宣言します.結果は同じです.
var d1 = new Date();
alert(d1);
var d2 = new Date();
d2 = d1;
d2.setFullYear("2013");
alert(d1 + "/" + d2);
Dateタイプのこの直接割当方式は参照伝値となり、d 1、d 2の変数は同じDateオブジェクトを指します.「=」の記号を使って直接に対象に値を付けるという方法は、自分の予想とは違った結果になる可能性があります.