zoukankan      html  css  js  c++  java
  • js中多个Date对象变量间赋值互相影响

    <head>
        <title></title>
        <script type="text/javascript">
            function pageLoad() {
                var dtmNow = new Date();
                var dtmDt1 = dtmNow;
                dtmDt1.setMinutes(20);
                var divContent = document.getElementById("divContent");
                divContent.innerHTML = "dtmDt1:" + dtmDt1.toLocaleTimeString() + "dtmNow:" + dtmNow.toLocaleTimeString();
            }
        </script>
    </head>
    <body onload ="pageLoad()">
        <div id="divContent">
        
        </div>
    </body>

      页面初始化时获得当前时间给变量dtmNow,然后dtmNow变量又赋给dtmDt1,给dtmDt1的分钟设置成20,再打印出两个变量,结果发现两个变量值相等,即dtmNow也发生了变化,本意是不想dtmNow随着变化,所以才定义了dtmDt1变量,但现在dtmNow也改变了这是为什么呢?

      dtmNow是Date类型,Date是对象是引用类型,dtmNow赋给了dtmDt1,引用类型间的拷贝是将变量指向同一个实例,那dtmDt1也就指向dtmNow所指向的实例,当改变其中一个的值时其实改变的是同一个实例,自然另一个变量也会随之改变,这与值类型不同。

    作者:欢醉
    公众号【一个码农的日常】 技术群:319931204 1号群: 437802986 2号群: 340250479
    出处:http://zhangs1986.cnblogs.com/
    码云:https://gitee.com/huanzui
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    Top
  • 相关阅读:
    了解jQuery
    了解JavaScript
    了解DOM
    了解CSS
    UICollectionViewCell点击高亮效果(附带效果GIF)
    产品迭代缓慢的原因
    了解Web的相关知识
    HTML常用标签
    HTML常用标签效果展示
    了解数据产品经理
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/2720143.html
Copyright © 2011-2022 走看看