Преобразование элемента массива в Number

191
16 августа 2017, 20:18

Возникла проблема при написании калькулятора

for (var i = 0; i < calcBtn.length; i++){
    calcBtn[i] = calcBtn.innerHTML;
    calcBtn[i].onclick = function btnClick() {
        +this;
        console.log(typeof this);  
        calcInput.value += this.innerHTML;
    }
}

Необходимо преобразовать объект, полученный из массива при клике, в переменную типа Number, чтобы в дальнейшем выполнить математическую операцию.

typeof this выводит object, а +this никак не преобразовывает, не могу понять почему? Помогите пожалуйста, кто знает?

Answer 1

var calcInput = document.getElementById("calcinput"); 
var calcBtn = document.querySelectorAll(".calc-btn"); 
for (var i = 0; i < calcBtn.length; i++){ 
    calcBtn[i].onclick = function() { 
        var buttonValue = +this.innerText; 
        console.log(typeof buttonValue); 
        console.log(buttonValue); 
        calcInput.value += this.innerHTML; 
    }; 
}
.calc-btn 
{ 
  display:inline-block; 
  width:30px; 
  height:30px; 
  line-height: 30px; 
  border:1px solid black; 
  text-align:center; 
}
<div class="calc-btn">1</div> 
<div class="calc-btn">2</div> 
<div class="calc-btn">3</div> 
<div class="calc-btn">4</div> 
<div class="calc-btn">+</div> 
 
<br/> 
<br/> 
 
<input id="calcinput"/>

READ ALSO
Как сделать анимацию, чтобы она начала работу при hover, и если убрать курсор все равно отработала полностью?

Как сделать анимацию, чтобы она начала работу при hover, и если убрать курсор все равно отработала полностью?

Пока приложу пример на Jquery, потом на чистом Javascript, если сами не догадаетесь как переделать

254
Как проверять парль по password_hash?

Как проверять парль по password_hash?

Делаю вход в админкуПароль хеширован password_hash

177
не происходит загрузка изображения [требует правки]

не происходит загрузка изображения [требует правки]

здравтствуйте, не могу понять почему не происходит загрузка изображения на сайт, ошибки нет, запись ссылки в базу происходит, использую функцию...

166