Функциялар ішіндегі қажеттілікте тұйықталу қажет емес жағдайларда функцияларды жасау қажеті жоқ. Бұл техниканы пайдалану,сондай-ақ жадты тұтыну бөлігінде қойылатын талаптардың жылдамдығы тұрғысынан өнімділік артады.
Мысалы, бұл объектінің прототипіне жаңа объект/класс құруда баяндау мәтінінде конструктор барлық әдістерді енгізу мәні бар. Себебі, мұнды басқаша болса, оларды прототиптан мұраға қалдыру орнына әрбір объектіні құру үшін оған әрбір әдістің данасы құрылады.
Парактикалық емес, бірақ көрсетілімді мысал қарастырайық:
function MyObject(name, message) { this.name = name.toString(); this.message = message.toString(); this.getName = function() {
return this.name;
};
this.getMessage = function() { return this.message;
};
}
Жоғарыда көрсетілген код тұйықталудың артықшылықтарында пайдаланылмайды, оны төмендегідей қайта жазуға болады:
function MyObject(name, message) { this.name = name.toString(); this.message = message.toString();
}
MyObject.prototype = { getName: function() { return this.name;
},
getMessage: function() { return this.message;
}
};
Прототипке әдістер ұсынылады. Дегенмен, прототипті қайтаанықтау — қажет емес, сондықтан жаңа әдістерді қолданыстағы прототипке қосуға болатындай, барлығын қайта жазайық:
function MyObject(name, message) { this.name = name.toString(); this.message = message.toString();
}
MyObject.prototype.getName = function() { return this.name;
};
MyObject.prototype.getMessage = function() { return this.message;
};
Достарыңызбен бөлісу: |