javascript中不同数据类型的内存使用情况

发生在我身上的一个问题是,javascript中的不同数据类型有多少内存使用.例如,在C数据类型中,如int,char,float使用顺序2,1,8字节的内存.现在数据类型像数字,字符串,布尔值,空,undefind和对象,javascript中的数组使用多少内存以及接受的范围是多少?
接受我的道歉,因为我的英语水平低!

解决方法:

数字是8个字节.

发现在这w3schools page.

我搜索了其他JavaScript原始类型,但是很难找到这些信息!我确实找到了以下代码:

    ...
    if ( typeof value === 'boolean' ) {
        bytes += 4;
    }
    else if ( typeof value === 'string' ) {
        bytes += value.length * 2;
    }
    else if ( typeof value === 'number' ) {
        bytes += 8;
    }
    ...

似乎表示String是每个字符2个字节,布尔值是4个字节.

找到代码herehere.完整代码实际上用于获取对象的粗略大小.

虽然经过进一步阅读,我在konijn页面上找到了这个有趣的代码:Count byte length of string.

function getByteCount( s )
{
  var count = 0, stringLength = s.length, i;
  s = String( s || "" );
  for( i = 0 ; i < stringLength ; i++ )
  {
    var partCount = encodeURI( s[i] ).split("%").length;
    count += partCount==1?1:partCount-1;
  }
  return count;
}
getByteCount("i♥js"); // 6 bytes
getByteCount("abcd"); // 4 bytes

所以看起来字符串在内存中的大小取决于字符本身.虽然我仍在试图弄清楚为什么如果它为1,他将计数设置为1,否则他采用count-1(在for循环中).

如果我发现任何其他内容,将更新帖子.

上一篇:java – 具有对象类型的Jackson JSON列表


下一篇:程序在c中实现is_same_type类型特征