Что занимает меньше памяти, null или undefined?
У меня есть перменная:
var one = "one"; Она свое отработала, я хочу ее "удалить", "обнулить", в общем очистить как-то память, которую она занимала. Как это правильно сделать? one = null; // присвоить null? one = undefined; // или присвоить undefined? Или может есть какая-то специальная для этого функция типа как unset в php? Автоматический сборщик мусора в данном случае не годится, мне нужно специально ее удалить. |
Цитата:
undefined — специальное значение, которое, как и null, образует свой собственный тип. Оно имеет смысл «значение не присвоено». Если переменная объявлена, но в неё ничего не записано, то ее значение как раз и есть undefined. Т.е. выходит, что если переменная == undefined, то она объявлена. А если она объявлена, хоть ей и ничего не присвоено, место в памяти она уже какое-то занимает. А вот хотелось бы удалить, чтобы даже память не занимала. |
Цитата:
В JS есть GarbageCollector, он именно для того и создан, чтобы не думать об освобождении памяти. |
Цитата:
tst = {a : 'string'} alert('a' in tst); tst.a = undefined; alert('a' in tst); tst = {a : 'string'} alert('a' in tst); delete tst.a; alert('a' in tst); |
Цитата:
т.е. : var long_life; // это будет жить. function count(a) { var b = 5, c = 2.4, d = Math.PI; // это - еда. return d * c + b * a; } set_life = function() { long_life = count(Mah.random()); }; Цитата:
(function(){ var a = "test"; delete a; alert(a); })(); |
Цитата:
И не обязательно было её в функцию оборачивать. |
Цитата:
|
Цитата:
var a = "1234"; alert( a + " === "+ window.a); delete window.a; alert(window.a); |
var a=5; alert(a); delete a; alert(a); Я не говорил, что её нельзя удалить как свойство window. Я говорил, что её нельзя удалить как переменную. |
Цитата:
|
Часовой пояс GMT +3, время: 10:20. |