Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
new Array(n) стал для V8 неактуальным после codereview.chromium.org/397593008, теперь преаллокация быстрее, потому что преалоцированный массив остается быстрым. До этой правки он превращался в словарь. delete. deleteом ничего не сделаешь.o.p = null. delete, в противном случае либо a[i] = null или двигайте элементы вниз (тем же splice или руками)function toFastProperties(obj) {
function f() {}
f.prototype = obj;
return f;
eval(obj);
}
f.prototype он превращается в быстрый. null действительно переведёт его просто в массив «чего угодно»), в этом случае a[i] = null не подходит. Надо либо сдвигать элементы, либо писать специальный маркер в несуществующие позиции (например, a[i] = 0). Конкретный подход зависит от назначения конкретного массива и причин, по которым нужно из него удалять элементы.Есть и непонимание по поводу того, как работает null. Установка ссылки на объект в null не обнуляет объект. ПисатьПереведённый автор здесь противоречит сам себе: мысль, изложенная до фрагмента кода, фактически противоречит мысли, изложенной после него.o.x = null лучше, чем использовать delete, но смысла это не имеет.
var o = { x: 1 }; o = null; o; // null o.x // TypeError
Если эта ссылка была последней ссылкой на объект, его затем приберёт сборщик мусора. Если это была не последняя ссылка, до него можно добраться, и сборщик его не подберёт.
frag2.appendChild(td);
мне кажется лишними телодвижениями.
Пишем быстрый и экономный код на JavaScript