猿问

为什么 JavaScript 可能会不分配内存?

MDN的内存管理上的例子提到,JavaScript可能决定不分配内存,不知道怎么理解:
vars="azerty";
vars2=s.substr(0,3);//s2是一个新的字符串
//因为字符串是不变量,
//JavaScript可能决定不分配内存,
//只是存储了[0-3]的范围。
vara=["ouaisouais","nannan"];
vara2=["generation","nannan"];
vara3=a.concat(a2);
//新数组有四个元素,是a连接a2的结果
意思是不给变量s2分配内存吗?只是存储[0-3]范围是怎么存储的?
素胚勾勒不出你
浏览 348回答 2
2回答

米脂

substr这个方法是定义在String.prototype上面的,s作为一个字符串在执行substr的时候,已经执行了一次newString(s)。正常情况下s2也应该是保存在内存中,那么【可能】这种时候是否是以对象的形式去保存s2,也就是指保存[0-3]的范围?
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答