All streams
Search
Write a publication
Pull to refresh
18
0

User

Send message
Во всех типах браузеров, если точнее. :^) Этот маленький отладчик можно использовать по какой небудь специальной директиве, которая включает отладку (например, двойной клик на копирайт :^), чтобы протестировать код в нужных местах с любого браузера, даже того, где отладчик не установлен (например, комп Маши из бухгалтерии).

Но вообще говоря, способ и не претендует на полноценный отладчик — так, на всякий случай. :^)
Насчёт условий входа — спасибо за мысль, я займусь. А насчёт цикла — что поделать, в этом суть точки останова. :^) Или я неверно понял вашу мысль?
можно до breakpoint(function (_$) { return eval(_$); }); (со скобками) — просто уберите параметр name.

Или речь о показе контекста брэйка?
Благодарю за совет — я доработал библиотеку. Выигрыш в 60 раз без расходования памяти. :^)

> т.е. не просто примитив, а именно примитив-строка
Я знаю, но в данном случае проверяется всё равно на instanceof Number. :^)

> И можно не опасаться, что кто-то переопределит номер объекта — сервер откажет такому запросу (см. две последние стоки)

Да, я здесь лишнего написал. Извините.

> можно передать вызывающий контекст

От таких вещей, к сожалению, защититься не получится. По крайней мере, сейчас я не знаю — как.
Да, и спасибо за указание на опечатку — исправил.
> Ну блин, ещё бы, совершенно новый независимый объект Number

На самом деле индексом в массиве объектов является примитив, так что проверка нужна.

> extenral stuff копируется в каждый новый объект, а не наследуется

Я сейчас как раз ищу решение, как его унаследовать. :^) Это, я надеюсь, позволит избавиться от перерасхода ресурсов и от тормозов в лисе при первом прогоне. Спасибо за совет.

> в некоторых реализациях, всё-таки, можно получить доступ к инкапсулированному var-у «objs»

А как? Чесслово, интересно. Может, это позволит сделать что-нибудь интересное. :^)
Простите, забыл упомянуть: ну а по памяти, я думаю, выигрыш очевиден.
kriomant, в принципе вы правы, создаётся новое замыкание (а дублирование кода действительно зависит от браузера). Но я, очевидно, немного неверно сформулировал мысль: обратите внимание, что все private-методы выносятся за пределы определения класса, и, следовательно, сам класс о них ничего не знает и никак их не дублирует — а как правило таких методов больше, чем публичных, работающих с ними (это уже просто практика), которые и создаются в конструкторе. Тесты показывают, что выигрыш действительно есть — где-то в 1,8 раза (например, 0,768 против 0,454 для создания 1000 объектов с 1000-ей закрытых и 1000-й открытых методов).

А вот с приведённым решением с сервером объектов, ради которого статья и затевалась, получается интереснее — это решение работает приблизительно в 7 раз быстрее во всех браузерах, кроме Firefox (там медленнее)… но только при первом прогоне — потом (при обновлении страницы) и лис прекрасно обрабатывает его.

Такая вот получается картина.
2

Information

Rating
Does not participate
Registered
Activity