javascript sizeof 实现

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 07:20   58   0

Number类型统一按浮点数处理,64位存储,整数是按最大54位来算最大最小数的,否则会丧失精度;某些操作(如数组索引还有位操作)是按32位处理的~~

function roughSizeOfObject( object ) {

var objectList = [];
var stack = [ object ];
var bytes = 0;

while ( stack.length ) {
var value = stack.pop();

if ( typeof value === 'boolean' ) {
bytes += 4;
}
else if ( typeof value === 'string' ) {
bytes += value.length * 2;
}
else if ( typeof value === 'number' ) {
bytes += 8;
}
else if
(
typeof value === 'object'
&& objectList.indexOf( value ) === -1
)
{
objectList.push( value );

for( var i in value ) {
stack.push( value[ i ] );
}
}
}
return bytes;
}

引用来自于:https://stackoverflow.com/questions/1248302/how-to-get-the-size-of-a-javascript-object

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP