请问delete与置空的区别 var page={adress:"http://ssss/url"};page.contents="Xxx";/*请问以下这两个有什么区别呢?*/delete page.contents;page.contents=null;请指教!~谢谢~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在之后访问下page.contents试试就知道了阿 呵呵 嗯~其实我是想知道:一个是置空,然后内存会被gc回收。另一个把整个属性给删除了,那内存也会被gc回收么?如果一样也会被GC回收,那这两者执行后节约的内存大小都一样么? delete page.contents;alert(typeof page.contents);var bef = page.contents; page.contents=null;alert(typeof page.contents);var aft = page.contents;alert(bef == aft); //truealert(bef === aft); //false 这里设为null其实还是一个属性(存在) delete 之后值变为undefined赋值null后值为null,null是一个空对象指针,page.contents原值没有变量引用,内存也已经释放这两种方式操作对象的属性都会释放该属性所占用的内存。 参数无效???请教中。。。 字体加粗 ie6下关于select控件focus和disabled的问题 麻烦的问题,firefox自动屏蔽我的弹出窗口,如何避免呢? Ext 的 load方法,和 autoLoad属性 问题 为什么我点击 确认 和取消都要执行?action=DelAll&api_key=${api_key}' 这个语句呀大家帮我解决一下吧? 正则表达式问题 在线等候~~ <在线等待,急用>请问有没有办法在页面自身定义自己显示的窗口的大小? setinterval可以传递参数吗 在线等候,因为我急 关于文本行的读写问题 【分享】1k大小的JavaScript示例
一个是置空,然后内存会被gc回收。
另一个把整个属性给删除了,那内存也会被gc回收么?
如果一样也会被GC回收,那这两者执行后节约的内存大小都一样么?
alert(typeof page.contents);
var bef = page.contents;
page.contents=null;
alert(typeof page.contents);
var aft = page.contents;
alert(bef == aft); //true
alert(bef === aft); //false
赋值null后值为null,null是一个空对象指针,page.contents原值没有变量引用,内存也已经释放
这两种方式操作对象的属性都会释放该属性所占用的内存。