최근에 자바스크립트를 사용하여 간단한 계산기를 작성했는데 직접 테스트해 보니 괜찮았습니다. 먼저 인터페이스를 보여드리겠습니다.
이제는 덧셈, 뺄셈, 곱셈, 나눗셈은 물론 나머지 연산까지 연속 연산을 수행할 수 있는 단순한 표준 계산기입니다. 0 배당 오류가 발생하면 다음과 같은 프롬프트가 표시됩니다.
어떻게 쓰여진지는 모르겠지만, 초보자들에게는 확실히 큰 식사이고 접근하고 배울 수 있는 것들이 많습니다. 만약 이 책에서 누락된 부분이나 실수를 발견한 전문가가 있다면 조언과 조언을 해주셨으면 좋겠습니다.
아래 코드를 붙여넣으세요. 내부에 충분한 댓글이 있었으면 좋겠습니다.
js 부분:
var num= 0,result =0,numshow="0";
var Operate=0; //입력 상태를 판단하는 플래그
var calcul=0; //계산 상태를 판단하는 플래그
var quit=0; //반복되는 키 입력 방지
function command(num){
var str=String(document.calculator.numScreen.value) //현재 표시 데이터 가져오기
str=(str!=" 0") ? ((operate==0) ? str : "") : ""; //현재 값이 "0"이 아니고 상태가 0이면 현재 값을 반환하고, 그렇지 않으면 null 값을 반환;
str=str String( num); //현재 값에 문자 추가
document.calculator.numScreen.value=str; //디스플레이 새로 고침
operate=0; 🎜>quit=0; //재설정 키를 반복해서 누르지 않도록 플래그를 설정합니다.
function dzero(){
var str=String(document.calculator.numScreen.value); =(str!="0") ? ( (operate==0) ? str "00" : "0") : "0"; //현재 값이 "0"이 아니고 상태가 0인 경우 str "00"을 반환하고, 그렇지 않으면 "0"을 반환합니다.
operate=0
}
function dot(){
var str= String(document.calculator.numScreen.value);
str=(str!="0") ? ((operate==0) ? str : "0") : "0"; "0"이 아니고 상태가 0이면 현재 값을 반환하고, 그렇지 않으면 "0"을 반환합니다.
for(i=0; iif(str.substr(i,1)= =".") return false; //있는 경우 더 이상 삽입하지 않습니다.
}
str=str "."
document. Calculator.numScreen.value=str;
operate=0;
}
function del(){ //Backspace
var str=String(document.calculator.numScreen.value); str=(str!="0") ? str : " ";
str=str.substr(0,str.length-1)
str=(str!="") ? 0";
document.calculator.numScreen.value= str;
}
functionclearscreen(){ //데이터 지우기
num=0;
result=0;
numshow ="0";
document.calculator.numScreen.value="0";
}
function plus(){ //계산 함수 호출
Operate=1; //입력 상태 변경
calcul= 1; //계산 상태를 덧셈으로 변경
}
function minus(){ //뺄셈
calculate(); =1;
calcul=2;
}
함수 times(){ //곱셈
calculate()
calcul=3;
function Divide(){ //Division
calculate();
operate=1;
calcul=4;
}
functionpresent(){ //나머지 찾기
calculate();
operate=1;
calcul=5;
}
function equal(){
calculate(); 🎜>num=0;
결과=0;
numshow="0";
}
//
함수 계산(){
numshow=Number(document.calculator. numScreen.value);
if(num!=0 && quit !=1){ //이전 피연산자가 0인지 확인하고 키 입력 방지 상태
switch(calcul){ //결정 입력 상태
case 1:result=num numshow;break; // " " 계산
case 2:result=num-numshow;break; //"-" 계산
case 3:result=num* numshow;break;
case 4:if(numshow!=0) {result=num/numshow;}else{document.getElementById("note").innerHTML="배당금은 0이 될 수 없습니다! "; setTimeout(clearnote,4000)} break;
case 5:result=num%numshow;break;
}
quit=1; //반복적인 키 누르기 방지
}
else {
result=numshow;
}
numshow=String(result);
document.calculator.numScreen.value=numshow;
num=result; >}
functionclearnote(){ //프롬프트 지우기
document.getElementById("note").innerHTML="";
}
html 부분:
코드 복사
코드는 다음과 같습니다.