8 AĞUSTOS 2009, CUMARTESİ
JavaScript nesne boyutu
Boyutunu JavaScript bir nesne tarafından işgal bilmek istiyorum.
Aşağıdaki işlevi
function Marks()
{
this.maxMarks = 100;
}
function Student()
{
this.firstName = "firstName";
this.lastName = "lastName";
this.marks = new Marks();
}
.. Öğrenci örneğini şimdi
var stud = new Student();
ben de bir şeyler yapabilirim yani
stud.firstName = "new Firstname";
alert(stud.firstName);
stud.marks.maxMarks = 200;
vb...
şimdi, stud
nesne bellekte boyutu işgal edecek. Bazı veri ve daha fazla nesne var.
Ne kadar stud
nesneyi kaplar öğrenebilirim?
JavaScript sizeof()
gibi bir şey mi?
Eğer tek bir işlev çağrısı gibi olsaydı gerçekten harika olurdu
sizeof(stud)
P. S. internette aradım ay için - bulamadım (forumları - hayır cevaplar birkaç sordu).
CEVAP
10 AĞUSTOS 2012, Cuma
Re-çarpanlarına benim kodu original answer var. Özyineleme kaldırıldı ve varlığını kabul yükü kaldırdık.
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;
}
Bunu Paylaş:
Eğer anahtar kontrol JavaScript bir ne...
JQuery ile JavaScript nesne için form ...
JavaScript döngü nesne...
Nasıl verimli bir şekilde anahtarları/...
Nasıl bir nesne JavaScript özelliği ol...