最小的可用内存大小是2个字节,在javascript中?

时间:2013-03-29 04:43:31

标签: javascript string memory-management character-encoding

要在JS中表示单个字符,我们使用"',即使用长度为1的字符串。

但是从JavaScript uses the UTF-16 encoding开始,角色也会是16位。

因此可以说,2个字节是最小的可呈现大小,这在JS中是可能的。

或者是否会有一些数据结构,它可以代表我遗漏的单个字节(8位)。

修改

我理解使用带有字大小(通常是4个字节)的数据类型总是最有效的,但我只是想知道JS的创建者是否会关注包含的内容。

Actionscript 3也来自ECMAScript&它包括一个可变大小的数据类型,即AS3中的整数是1到4个字节的存储空间。

注意:我并不是真的想要将多个字节放入更大的数据类型中。

猜猜答案很可能

3 个答案:

答案 0 :(得分:1)

嗯,不是在ECMAScript中,而是在node.js中有Buffer,而在浏览器中你有Uint8Array

var b = new UInt8Array(16); //Holds 16 bytes

答案 1 :(得分:0)

从技术上讲,你可以拥有一个8 booleans的数组 - 但是存储数组本身可能会有很大的开销。

答案 2 :(得分:0)

从c-style联盟中获取页面,当然,您可以创建自己的数据结构。使用大型int作为位图。

var memory = 0;

function setbyte(addr, value) {
    memory = memory | (value << addr);
}

function getbyte(addr) {
    return 0xFF & (memory>>addr)
}