要在JS中表示单个字符,我们使用"
或'
,即使用长度为1的字符串。
但是从JavaScript uses the UTF-16 encoding开始,角色也会是16位。
因此可以说,2个字节是最小的可呈现大小,这在JS中是可能的。
或者是否会有一些数据结构,它可以代表我遗漏的单个字节(8位)。
修改
我理解使用带有字大小(通常是4个字节)的数据类型总是最有效的,但我只是想知道JS的创建者是否会关注包含的内容。
Actionscript 3也来自ECMAScript&它包括一个可变大小的数据类型,即AS3中的整数是1到4个字节的存储空间。
注意:我并不是真的想要将多个字节放入更大的数据类型中。
猜猜答案很可能不。
答案 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)
}