У меня возникли трудности с пониманием, почему этот код не работает. Из того, что я могу сказать, мой синтаксис верен, но console.log жалуется, что у моего объекта person нет метода setFirstName. Вот что у меня до сих пор:У моего объекта нет метода?
HTML
<input type="text" id="firstName">
Jquery
$(document).ready(function() {
$("#firstName").on("change", getFirstName);
var person = new Person();
function Person() {
this.firstName = "";
}
Person.prototype = {
setFirstName: function(name) {
this.firstName = name;
console.log("My first name is: " + person.firstName);
}
}
function getFirstName() {
var firstName = $("#firstName").val();
person.setFirstName(firstName);
}
});
Строка кода журнала отображает консольных эту ошибку и указывает на "person.setFirstName (имя)" :
Uncaught TypeError: Object #<Person> has no method 'setFirstName'
Меня озадачивает, что он распознает объект Person, но не видит меня thod setFirstName. Что я сделал не так? Помогите мне, мастерские кодеры, вы - моя единственная надежда.
Разве это не мой путь для этого? – Frijolie
Нет, вы заменяете прототип литералом объекта, который вы создаете. –
Исправлена ошибка. Спасибо, что поймали его. Изменил его на ваше предложение, и он работает. Благодаря! – Frijolie