var obj = {};
obj.functions = '';
var functions = obj.functions;
functions.push('a');
alert(obj.functions);//这里为什么会输出a  

解决方案 »

  1.   

    functions和obj.functions 都指向同一个内存地址。 
      

  2.   

    因为push一个a啊!你去看看push的用法就知道了!
      

  3.   

    push 方法: 将新元素添加到一个数组中,并返回数组的新长度值
      

  4.   

    两者间是引用关系,不是copy...
      

  5.   

    在javascript中,如果使用赋值语句, 是复制,还是使用引用.其原理与java相同.如果赋值是基本类型.是复制,其它都是引用,也就是赋给指针.
      

  6.   

    伤不起啊
    你玛,string能push?
    string是引用传递?
    亮瞎了
      

  7.   

    var array = new Array;
    var array1 = array;
    array.push('a');
    alert(array1);你是说的这个意思吧。 这里是这个引用类型的例子。
      

  8.   

    楼主 你这么写能输出a 太阳得从西边出来 O(∩_∩)O~
    好好检查下你的代码能正确执行不 不要上来迷惑了大家~~~