var a=function(){alert(1)};
var b=a;
b=function(){alert(2)};
a( );
执行结果为何还是1,函数不是引用类型吗var a=[1,2];
var b=a;
b.push(3)
a[2]变成3,数组这里就比较正常
var b=a;
b=function(){alert(2)};
a( );
执行结果为何还是1,函数不是引用类型吗var a=[1,2];
var b=a;
b.push(3)
a[2]变成3,数组这里就比较正常
解决方案 »
- 用javascript或jquery如何获取三个数组的笛卡尔积问题,自己想了两天,实在无能为力了,算法过于复杂。
- 求一个滑动门 像IE标签栏那样能关闭能添加的
- is not defined 问题
- jsp连接acess数据库时遇到的问题,在线等待
- js代码是放在一个大文件好还是分成几个文件好?
- 怎样获取一个标记与屏幕左边的距离啊?
- 如何用正则表达式,将e.innerHTML中"<br>" 替换成js 的换行
- 怎么让状态栏只显示我所需要显示的内容?不显示链接地址?
- 孟子e章大哥,怎么在网页里用javascript来创建wscript???
- 怎样用js修改div里标签的样式
- jquery与MVC路径!!!求助!!!急!!!
- window.open() 被屏蔽的问题
如果是
var a=[1,2];//a是指向数组的‘指针’
var b=a;//此时b也是一个指针指向了数组
b=[2,3];//注意这不是给数组赋值,这只是将b又重新指向了另外一个数组
alert(a);//a依旧是指向原数组的指针结果是结果还是[1,2],这就跟楼上上面举得例子差不多一个道理了
var b=a;
b=[3,4];
alert(a[1]); 结果是2
懂乐
指针指向了别处,而非原来的地方对吧
而push操作,并未改变指针指向的地址?
如下代码:
var c=[1,2];
var d=c;
d=[3,4];
alert(c[0]); //return 1