首页 > 代码库 > Javascript Date 类型的值传递与引用传递问题
Javascript Date 类型的值传递与引用传递问题
新建一个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对象。
要慎用 “=” 符号直接给对象赋值这种方式, 很大可能结果与自己预想的不一致,导致运算错误。
Javascript Date 类型的值传递与引用传递问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。