国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > web前端 > jscript > Javascript变量域的问题不能显示

Javascript变量域的问题不能显示

来源:程序员人生   发布时间:2013-12-21 18:00:55 阅读次数:2406次
  是alert(cc),不知道为什么显示不出来

以下为引用的内容:
<script language="javascript">
    function aa(bb){
        bb ++;
    }
    function zz(){
        var cc = 1;
        aa(cc);
        ;
    }
    zz();
</script>

  弹出来的是1,意料之中

以下为引用的内容:
<script language="javascript">
    function aa(bb){
        bb.setDate(bb.getDate() + 1);
    }

    function zz(){
        var cc = new Date();
        aa(cc);
        ;
    }
    zz();
</script>

  这个为什么cc会加上一天呢?

  正确答案:

  关键在与你的 var cc = new Date();这句话,这句话看似确实是定义了一个局部变量cc,但事实并非如此;事实是这里定义的CC是一个日期对象实例。为说明这一点,你可以用typeof(cc)检查下类型,你会发现这里返回的是object类型。因此答案也就明了了。这里既然是object类型了,那此处调用的aa这个方法,这就和咋们经常使用的高级语言传递一个对象实例是一样的意思了。

  后话:你也可以去检查下你alert出1的代码,他返回的应该是值类型,而并非object类型。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生