我一直在这里阅读
https://developer.mozilla.org/en-US/docs/JavaScript/Memory_Management#Allocation_via_function_calls
这些行让我有点困惑:
var s = "azerty";
var s2 = s.substr(0, 3); // s2 is a new string
// Since strings are immutable value, JavaScript may decide
// to not allocate memory, but just store the [0, 3] range.
所以评论说,JavaScript 可能决定不分配内存而只存储范围 [0,3] ,现在在存储之前不必分配内存吗?万一不是,正如评论所暗示的那样,究竟会发生什么,以便存储的范围被存储在可用空间中,而不是已经被其他值占用。