[code=Zeroglif]Можно определить, никто не мешает тому, как именно держать это в уме.[/code]
Так я же попытался не в уме , а на бумаге это определить.
Сообщение от Zeroglif
|
Ваш первоначальный конструктор может быть пустой безымянной функцией
|
Ввиду слабости в javascript я как-то не могу себе представить, как это возможно анонимный конструктор и его прототип сделать потомками еще какой бы то ни было пары Конструктор-прототип, т.е. я имею ввиду направить свойство __proto__ прототипа сопровождающего анонимный конструктор на другой прототип , ведь прототип , сопровождающий анонимный конструтор это Function.prototype :
Имеются тождества :
{n:"132" }.constructor===Object ;
{}.constructor===Object ;
function(){}.constructor===Function ;
Т.е. не будет в цепи наследования анонимных конструкторов .
Докажите, плз, если, где я ошибаюсь.
Впрочем, есть и такой вариант :
var s=new function(){this.n="132" ; } ; s.constructor!==Function
Но все равно и здесь не направить, свойство __proto__ на предка.
Вот. Но это одно.
А второе - если основывать приложения на простом правиле - не делать в цепи наследования анонимных конструкторов, то вопрос снимается .
Для ненаследуемого же экземпляра , созданого анонимным конструктором всегда можно говорить , что это экземпляр типа(класса)
и далее приводить литеральное описание класса, который использовался для создания. Что конечно многословно, но для устранения многословнояти при описании можно пользоваться придумаными именами для обозначения этого класса .