<div class="controls">
<button class="protoBtn active" onclick="changeS(this)">none</button>
<button class="protoBtn" onclick="change(this)">first</button>
<button class="protoBtn" onclick="change(this)">second</button>
<button class="protoBtn" onclick="change(this)">third</button>
</div>
Добрый день!
Please help!
Мне нужно создать функцию
change() в скрипте.
Вы можете увидеть вызов этой функции в HTML как
change(this)
С нажатием кнопки нужно изменить значения функций First и Second.
Например, должно быть:
let first = new First(26, 'Melica', 'human', 'doctor');
let second = new Second(300, 'Michael', 'ghost', 'unemployed', 'count');
Таким образом, при нажатии button (onclick="change(this)") функция должна принимать значения функций First или Second.
Например:
Если я нажму на кнопку с button.innerText **first**, функция должна принять значения new First(26, 'Melisa', ' human', 'doctor').
Обратите внимание, что функции-конструкторы First и Second имеют значения из конструктора BASE и одно собственное.
First и Second — это прототипы функции BASE.
function Base (name, age, species) {
this.name = name;
this.age = age;
this.species = species;
if (this.age < 0 ) {
this.age = 0;
}
}
Base.prototype.sayHello = function () {
return console.log(`Hello, my name is ${this.name}!`);
}
function First (age, name, species, job) {
Base.call(this, name, age, species);
this.job = job;
}
First.prototype = Object.create(Base.prototype);
First.prototype.constructor = Base;
function Second (age, name, species, color) {
Base.call(this, name, age, species);
this.color = color;
}
Second.prototype = Object.create(Base.prototype);
Second.prototype.constructor = Base