新建一个Date类型的变量 d1。
<span style="font-family:Microsoft YaHei;font-size:14px;">var d1 = new Date();
alert(d1);</span>
运行后页面上会弹出:
Fri Sep 05 2014 16:40:50 GMT+0800
再新建一个变量 d2, 将 d1的值赋给d2, 把d2 的 年份设置为 2013,
<span style="font-family:Microsoft YaHei;font-size:14px;">var d2 = d1;
d2.setFullYear("2013");
alert(d1 + "/" + d2);</span>
运行后页面上会弹出:
Thu Sep 05 2013 16:40:50 GMT+0800
即使改为如下, 把d2 也声明为Date 类型, 结果仍然一样。
<span style="font-family:Microsoft YaHei;font-size:14px;">var d1 = new Date();
alert(d1);
<span style="color:#FF0000;">var d2 = new Date();</span>
d2 = d1;
d2.setFullYear("2013");
alert(d1 + "/" + d2);</span>
表明: Date 类型的这种直接赋值方式会变成引用传值, d1 , d2 两个变量指向同一个Date对象。
要慎用 “=” 符号直接给对象赋值这种方式, 很大可能结果与自己预想的不一致,导致运算错误。