eval函数是进行计算的理想方法吗?

问题描述

我试图使用eval()函数创建一个计算器。但是由于某种原因,我的数字和操作员按钮不会显示在屏幕上(窗体)。下面是我的html和js代码

data1
const btns = document.querySelectorAll('.btn');
var screenView = document.querySelector('.screen');
const equalBtn = document.querySelector('.btn-equal');
const clearBtn = document.querySelector('.btn-clear');

for (let i = 0; i < btns.lenght; i++) {
  btns[i].addEventListener('click',function() {
    let number = btns[i].getAttribute('data-num');
    screenView.value += number;
  })
}

equalBtn.addEventListener('click',function() {
  let value = eval(screenView.value);
  screenView.value = value;
})

clearBtn.addEventListener('click',function() {
  screenView.value = '';
})

解决方法

您在这里有一个错字:lenght,而不是length

此外,我不得不说,eval()应该始终放在一切之后 否则失败,作为最后的手段。