js对象操作问题 对象js 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为a是object,b = a 后,b和a指向用同一个内存地址,所以你可以理解为 b 恒等于 a。所以改变该内存地址的值,a,b将同时改变 a 和 b指向了同一个对象 而不是a的副本 因为a 和b 只是一个对象的引用,修改a就等于修改了对象 你得理解对象是引用关系比如 : var object1 = {name : "keatkeat"};这就表示你在内存中创建了一个对象,然后变量object1 指向了这个内存.(我们姑且叫它内存A) var object2 = object1;这句表示变量object2指向了和object1同一个内存(也就内存A).object2.name = "xinyao";你通过object2这个变量找到了内存A并且把它的属性name的值给改变了。alert(object1.name); //xinyao你通过object1这个变量找到了内存A , 因为刚才内存A已经被改动了,所以你拿到得自然就是xinyao,而不是 keatkeat了.总结就是 变量其实只是记入了内存的地址,2个变量都是读写同一个内存A 所以呢当你写 object1 = null ; 只是代表你切断了object1 与内存A的关系。这时object2 依然可以读写内存A .当所有的变量都切断和内存A的关系时,内存A就会被垃圾回收了! 而且好像数组也存在这个问题,前天写一个东西var a=b=new Array();结果后来a和b结果都一样。 因为js对象和数组都是引用,传递的是地址。参考如java的静态变量和C++的指针 新手求指点,jquery 的 galleria插件问题 原文出处:分享40个实用的jQuery用户界面UI设计技巧及教程:第一部分 关于IFRAME框架的问题!! 优化js,我这个js验证太长了,太大了谁有办法验证时候简略点? 300分求助(3次付清) 用jscript来处理xml 动态改变iframe的src 用javascript怎么做 关于showModalDialog的棘手问题 求几个用于表单验证的正则表达式!!!大家帮帮忙!多谢! 怎么才能使页面打开时没有菜单、工具条等等,不是在打开的连接处控制,是在该页面里 jsp中检验方法不生效 JS获取坐标位置 . 方法传参 . 救命啊。
比如 :
var object1 = {name : "keatkeat"};
这就表示你在内存中创建了一个对象,然后变量object1 指向了这个内存.(我们姑且叫它内存A)
var object2 = object1;
这句表示变量object2指向了和object1同一个内存(也就内存A).
object2.name = "xinyao";
你通过object2这个变量找到了内存A并且把它的属性name的值给改变了。
alert(object1.name); //xinyao
你通过object1这个变量找到了内存A , 因为刚才内存A已经被改动了,所以你拿到得自然就是xinyao,而不是 keatkeat了.
总结就是 变量其实只是记入了内存的地址,2个变量都是读写同一个内存A
所以呢当你写 object1 = null ; 只是代表你切断了object1 与内存A的关系。
这时object2 依然可以读写内存A .
当所有的变量都切断和内存A的关系时,内存A就会被垃圾回收了!
var a=b=new Array();
结果后来a和b结果都一样。