как конструктор, и его прототип имеет f () как ...
с 1:
Я экспериментировал с прототипами объектов и конструкторов в JS, когда заметил, что:
function f(a) {
this.a = a;
this.x = 1
}
function f2(a) {
this.a = a;
this.x = 4
}
f2.__proto__ = f(9);
var of2 = new f2(4);
как-то делает f2 () вложенным в егоprototype -> constructor
так что у меня есть бесконечное вложение (как показано ниже):
Может ли кто-нибудь объяснить такое поведение, пожалуйста? Или, может быть, это просто ошибка, вызванная инструментом?
Вопрос 2Так что, если это нормально, как это работает в памяти? Это работает над ссылками, или просто вставить прототип в конструктор, конструктор в прототип и так далее? Если вторая гипотеза верна, почему память моего компьютера все еще в порядке и не горит?