首页 > 代码库 > 字符串的内存优化(游览器内置)
字符串的内存优化(游览器内置)
代码1 :
var array = [];
for (var i = 0 ; i < 100000; i++) {
array.push({ name: "keatkeata" });
}
代码2 :
var array = [];
for (var i = 0 ; i < 100000; i++) {
var obj = new Object();
var str = new String("keatkeata");
obj.name = str;
array.push(obj);
obj = null;
}
代码1和代码2出来的结果是一样的。
但是代码1用的内存是 6.xM 而代码2用了 10M
为什么呢?
其实这和C#原理差不多。
str 也是对象也可以用指针表示
所以呢 代码1其实是new String("keatkeat") 了一次而已,之后的都引用同一个对象
而代码2这是 new String 了很多次,所以内存就消耗很多了!
JSON.parse 就是用了第2种方法,所以你会发现本来没消耗那么多的,结果JSON.parse 后变多了!
当然如果你的字符串都是不同的,游览器也就没法优化了,要注意了哦!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。