Я хочу сделать функцию конструктора, которая создает объект documentElement.
В качестве примера рассмотрим новый конструктор Audio () - он создает объект documentElement, а если вы передаете ему некоторые переменные, он заполняет новый documentElement атрибутами. Он не вставляет его в DOM, он просто создает объект.
Итак, вопрос в том, что отличает documentElement от ванильного объекта javascript (типа {property: value}), и вы можете написать для них конструкторы, как вы можете для объектов?
Edit:
То, с чем я играю, - это воссоздание нового конструктора Audio () в браузерах, в которых его нет, с использованием QuickTime или FlashObjectElement вместо HTMLAudioElement.
Это нормально для меня, что audio.constructor будет ссылаться на HTMLObjectElement, поскольку в результате использования нового Audio () в браузерах, которые его поддерживают, audio.constructor ссылается на HTMLAudioElement.
Я не уверен насчет Audio.prototype. Когда я запрашиваю console.log (Audio.prototype) в браузерах с поддержкой Audio, они вообще ничего не возвращают - даже пустую строку в console.log - так что меня это озадачило. Но если я правильно понимаю, это не влияет на то, что я собираюсь сделать.
Цель состоит в том, чтобы иметь возможность кодировать с помощью конструктора Audio, и браузер должен обрабатывать его изначально или настроить экземпляр плагина, если это необходимо.