如何验证两个运算符arn';不要互相追逐。计算器Javascript
我用常用的HTML、CSS、Javascript制作了一个简单的计算器,但遇到了一个问题 当我验证用户输入时,现在计算器会依次接收多个运算符 我试图通过在广告发布之前检查screen.innerHTML中是否有任何操作员,以及是否有操作员输出警告,告诉他们这是无效输入来禁用此功能 以下是我的代码,希望您能更好地理解: =>HTML:如何验证两个运算符arn';不要互相追逐。计算器Javascript,javascript,html,Javascript,Html,我用常用的HTML、CSS、Javascript制作了一个简单的计算器,但遇到了一个问题 当我验证用户输入时,现在计算器会依次接收多个运算符 我试图通过在广告发布之前检查screen.innerHTML中是否有任何操作员,以及是否有操作员输出警告,告诉他们这是无效输入来禁用此功能 以下是我的代码,希望您能更好地理解: =>HTML: <!DOCTYPE html> <html> <head> <meta name="viewport" content="
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Calculator</title>
</head>
<body>
<div class="main-div">
<div class="screen" id="screen"><p></p></div>
<div class="clear" id="clear">C</div>
<ul class="number-div">
<li>1</li>
<li>2</li>
<li>3</li>
<li>+</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>*</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>-</li>
<li>0</li>
<li id="blank"></li>
<li id="equals">=</li>
<li>/</li>
</ul>
</div>
</div>
</div>
<script type="text/javascript" src="js/javascript.js"></script>
window.onload = function (){
var elements = document.getElementsByTagName("li");
var screen = document.querySelectorAll('p')[0]; // Returns a static NodeList of all elements descended from the element which it was invoked from that matches the specified group of CSS selectors
var clear = document.getElementsByClassName('clear')[0];
for(var i=0;i<elements.length;i++){
if(elements[i].innerHTML === '='){
elements[i].addEventListener("click", calculate(i));
}else{
elements[i].addEventListener("click", addtocurrentvalue(i));
}
}
function addtocurrentvalue (i){
return function(){
if (screen.innerHTML == "*" || screen.innerHTML=="+" || screen.innerHTML=="/" || screen.innerHTML=="-" && elements[i].innerHTML == "*" || elements[i].innerHTML=="+" || elements[i].innerHTML=="/" || elements[i].innerHTML=="-") {
alert("Please enter number and then operator!");
}else {
screen.innerHTML += elements[i].innerHTML;
function calculate(i) {
return function () {
if(screen.innerHTML ==''){
alert("Please Enter valid Inputs");
}else {
screen.innerHTML = eval(screen.innerHTML);
}
};
计算器
C
- 一,
- 二,
- 三,
- +
- 四,
- 五,
- 六,
- *
- 七,
- 八,
- 九,
- -
- 0
- =
- /
=>Javascript:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Calculator</title>
</head>
<body>
<div class="main-div">
<div class="screen" id="screen"><p></p></div>
<div class="clear" id="clear">C</div>
<ul class="number-div">
<li>1</li>
<li>2</li>
<li>3</li>
<li>+</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>*</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>-</li>
<li>0</li>
<li id="blank"></li>
<li id="equals">=</li>
<li>/</li>
</ul>
</div>
</div>
</div>
<script type="text/javascript" src="js/javascript.js"></script>
window.onload = function (){
var elements = document.getElementsByTagName("li");
var screen = document.querySelectorAll('p')[0]; // Returns a static NodeList of all elements descended from the element which it was invoked from that matches the specified group of CSS selectors
var clear = document.getElementsByClassName('clear')[0];
for(var i=0;i<elements.length;i++){
if(elements[i].innerHTML === '='){
elements[i].addEventListener("click", calculate(i));
}else{
elements[i].addEventListener("click", addtocurrentvalue(i));
}
}
function addtocurrentvalue (i){
return function(){
if (screen.innerHTML == "*" || screen.innerHTML=="+" || screen.innerHTML=="/" || screen.innerHTML=="-" && elements[i].innerHTML == "*" || elements[i].innerHTML=="+" || elements[i].innerHTML=="/" || elements[i].innerHTML=="-") {
alert("Please enter number and then operator!");
}else {
screen.innerHTML += elements[i].innerHTML;
function calculate(i) {
return function () {
if(screen.innerHTML ==''){
alert("Please Enter valid Inputs");
}else {
screen.innerHTML = eval(screen.innerHTML);
}
};
window.onload=函数(){
var elements=document.getElementsByTagName(“li”);
var screen=document.queryselectoral('p')[0];//返回从调用它的元素派生的、与指定的CSS选择器组匹配的所有元素的静态节点列表
var clear=document.getElementsByClassName('clear')[0];
对于(var i=0;i您可以创建一个var,其中包含上次单击的按钮,并验证它是否是运算符
var lastClicked;
单击时:
function clicked(item){
if (lastClicked != undefined && (lastClicked.value == "*" || lastClicked.value=="+" || lastClicked.value=="/" || lastClicked.value=="-")){
alert('Last Button Clicked : ' + lastClicked.value)
}
lastClicked = item;
}
您可以创建一个var,其中包含上次单击的按钮,并验证它是否为运算符
var lastClicked;
单击时:
function clicked(item){
if (lastClicked != undefined && (lastClicked.value == "*" || lastClicked.value=="+" || lastClicked.value=="/" || lastClicked.value=="-")){
alert('Last Button Clicked : ' + lastClicked.value)
}
lastClicked = item;
}
尝试使用let
替换var
此处var i=0;i尝试使用let
替换var
此处var i=0;ipls共享可执行代码段或fiddler。您的代码根本不工作!请共享可执行代码段或fiddler。您的代码根本不工作!