为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

UYOU 2019-03-23 18:15:41
MDN 的内存管理上的例子提到,JavaScript 可能决定不分配内存,不知道怎么理解:var s = "azerty";var s2 = s.substr(0, 3); // s2 是一个新的字符串// 因为字符串是不变量,// JavaScript 可能决定不分配内存,// 只是存储了 [0-3] 的范围。var a = ["ouais ouais", "nan nan"];var a2 = ["generation", "nan nan"];var a3 = a.concat(a2); // 新数组有四个元素,是 a 连接 a2 的结果意思是不给变量 s2 分配内存吗?只是存储 [0-3] 范围是怎么存储的?
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信