请问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原值没有变量引用,内存也已经释放这两种方式操作对象的属性都会释放该属性所占用的内存。 jquery 不能获取height的值 求助!setAttribute 在 IE7 浏览器失效!! 高手帮忙解决下 急急急~ 急急急!!!!!!!!! javascript里如何进行简单的图形处理? JS页面跳转问题 javascript解析json遇有个题,不知道各位遇到没有? 怎么样才能控制图片的点击效果?让图片点击时,换张图 请问如何根据一个已经知道的点A(x1,y1)在屏幕上画一个以点A为中心宽,高分别为w,h的矩形 能否禁止一个IFRAME的垂直滚动条不显示但是可以响应鼠标的滚轮进行滚动? 关于文本行的读写问题 【分享】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原值没有变量引用,内存也已经释放
这两种方式操作对象的属性都会释放该属性所占用的内存。