Почему alert не выводится, в чём проблема? Javascript

function Calculator() {

            var Input1 = document.querySelector("#input1");
            var Input2 = document.querySelector("#input2");

            var Plus = document.querySelector("#plus");
            var Minus = document.querySelector("#minus");

            start = function() {
                
                this.Plus.addEventListener('click', function() {
                    calculator.GetInner();
                });
                this.Minus.addEventListener('click', function() {
                    calculator.GetInner();
                });
            }

            GetInner = function() {
                alert("ss");
            }
        }

        var calculator = new Calculator();

        calculator.start();
<input type="number" name="numb1" id="input1">
        <input type="number" name="numb2" id="input2">

        <button id="plus">+</button>
        <button id="minus">-</button>


Ответы (2 шт):

Автор решения: nazarpunk

class Calculator {

  constructor() {
    this.Input1 = document.querySelector("#input1");
    this.Input2 = document.querySelector("#input2");
    this.Plus = document.querySelector("#plus");
    this.Minus = document.querySelector("#minus");
  }

  start() {

    this.Plus.addEventListener('click', function() {
      calculator.GetInner();
    });
    this.Minus.addEventListener('click', function() {
      calculator.GetInner();
    });
  }

  GetInner() {
    alert("ss");
  }
}

const calculator = new Calculator();

calculator.start();
<input type="number" name="numb1" id="input1">
<input type="number" name="numb2" id="input2">

<button id="plus">+</button>
<button id="minus">-</button>

→ Ссылка
Автор решения: nikolay73

Просто функции start и GetInner не добавлены в объект функции Calculator. Нужно добавить через this

function Calculator() {
  var Input1 = document.querySelector("#input1");
  var Input2 = document.querySelector("#input2");
  var Plus = document.querySelector("#plus");
  var Minus = document.querySelector("#minus");

  this.start = function() {
    Plus.addEventListener('click', function() {
      calculator.GetInner();
    }); 
    Minus.addEventListener('click', function() {
      calculator.GetInner();
    });
  }

  this.GetInner = function() {
    alert("ss");
  }
}

var calculator = new Calculator();

calculator.start();
<input type="number" name="numb1" id="input1">
<input type="number" name="numb2" id="input2">

<button id="plus">+</button>
<button id="minus">-</button>

→ Ссылка