Можете ли вы создать объект в Javascript, который НЕ наследуется от Object?

Иногда существует JS framework или библиотека, которая считает действительно мудрой идеей добавить несколько новых функций в прототип of Объект или Массив . Я не могу найти больше примеров прямо сейчас, но помню, что раньше у меня с этим были проблемы. Конечно, это нарушает старый добрый цикл for (... in ...) , потому что внезапно эти свойства теперь тоже нумеруются. Чтобы обойти это, вы должны проверить каждое перечисляемое свойство с помощью .hasOwnProperty () перед доступом. Что неудобно при написании надежного кода.

Так что у меня возник вопрос - можно ли каким-то образом создать свои собственные объекты, чтобы они не унаследовались от Object ? Первоначальные эксперименты с .prototype не дали никаких результатов. Может, в этом есть какая-то хитрость? Или все всегда будет унаследовано от объекта , и я ничего не могу с этим поделать?

Добавлено: Думаю, я должен был отметить, что мне нужно это для клиентских скриптов в браузерах, и совместимость должна включают IE6 или хотя бы IE7. Требования к другим версиям браузера более мягкие, хотя, конечно, чем больше, тем лучше. (Да, к сожалению, корпоративный мир все еще живет в IE-мире ...)

7
задан Vilx- 25 January 2012 в 15:46
поделиться