Показать сообщение отдельно
  #3 (permalink)  
Старый 27.08.2011, 14:24
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну решение есть:
function F() {
	if (this.constructor == F) {
		if (this._constructed) {
			alert("F.call(new F)");
			return null;
		}
		this._constructed = true;
		return this;
	}
	return null;
}

new F;

F.call(new F);

F.call({});

F();

Просто может я торможу и еще как-то проще/лучше/надежнее можно сделать. Не очень хочется иметь ненужное enumerable-свойство в каждом объекте.

Последний раз редактировалось Octane, 27.08.2011 в 14:31.
Ответить с цитированием