码迷,mamicode.com
首页 > 其他好文 > 详细

关于引用类型的误解

时间:2015-08-12 16:29:52      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

直接上代码 不墨迹

  function  name(user){
      user="zero";
      alert(user);
  }
  name(‘零度‘)

这个的结果可能很多人都会猜错  自己去试一下吧!

说执行顺序 为下边的更复杂的一个代码做铺垫

1、执行函数的时候 把“零度” 赋值给了 user

2、 在执行函数的过程中  user 又被赋值“zero”

3、于是结果是zero

开始稍微更复杂一点的(就是混合多一点代码)

  function changeName(username){
                 username = ‘零度‘;
                alert(username);
            }
            var username = ‘zero‘;
             changeName(username);
            console.log(username);

            console.log(window.username);

参差不齐 大家凑活看吧!

先说结果  零度  zero  zero

解析
 函数中的username 不是全局变量  是一个形参的赋值 形参众所周知 是一个局部变量  于是 打印出来的肯定就是全部变量的数值 (zero) 了   函数执行 那么就是"零度" 了  你可以把那个形参去掉  这样的话    函数中的那个username 才是全局变量

关于引用类型的误解

标签:

原文地址:http://www.cnblogs.com/ling-du/p/4724505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!