Допустим код:
var test = function(name) { console.log('Привет', name); };
test.property = 'Вложенное свойство';
test('Ваня'); //Привет Ваня
console.log(test.property); //Вложенное свойство
Всё работает, однако с прототипами беда, чтобы их использовать, нужно прибегнуть к фабрикам:
function factoryTest() {
this.property = 'Вложенное свойство';
this = function(name) {console.log('Привет', name); //ТУТ ОШИБКА - Invalid left-hand side in assignment
};
factoryTest.prototype.destroyProperty = function() {
if('property' in this)
delete this.property;
return;
};
var test = new factoryTest();
test('Ваня'); //Привет Ваня
console.log(test.property); //Вложенное свойство
test.destroyPropery();
Понятно, что можно вынести функци в метод, скажем test.hello = function() {...}, однако запись менее удобная в итоге. Как можно решить данную проблему?