@Irene_kvlv

Как изменить контекст функции chane(this) при нажатии button?

<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
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 17:14
4000 руб./за проект
29 мар. 2024, в 17:04
5000 руб./за проект
29 мар. 2024, в 17:03
3000 руб./за проект