과제 계산기 *다시 쓸것

안윤경·2022년 7월 6일
0

과제

목록 보기
2/20

action =number
연산자가 있을때
if첫글자가 존재한다면
1-1 두번째에 바로 buttontext가 넣어짐 3 + ?(buttontext)
1-2 첫글자말고 여러 수가 있어서 두번째 첫글자가 아닐경우 이미있는 수 뒤에다가 buttontext를 넣는다 3 + 2xxx? 기존에 있던 2xxx에 ?인 buttontext주입
연산자가 없을때
1.if 연산자도 없고 숫자도 없을때
-- 바로 display값이 buttontext가 됨
2. if 연산자는 없지만 숫자는 있을 때
--3xx... 라서 3뒤에 숫자 buttontext를 붙여줌
operatorForAdvanced = buttonContent 누르는 연산자로 변수가 저장되는 것.
firstNum = display.textContent;??????뭐징

참조) firstNum = display.textContent; //처음 연산자를 누르면 firstNum은 연산자가 입려되기 전 화면에 있던 값이다.

  //operator 이후에 다시 숫자를 넣으면 이전에 계산한 값들이 날아가고 display.textContext가 다시 정의 되므로 그전에 firstNum에 operator버튼을 눌러 계산한 값을 넣어준다.
  //그리하여 다시 숫자 버튼이 눌러진 이후 연산자 버튼을 눌렀을 때 110번째 줄에 firstNum으로 들어가 현재화면의 있는 값과 다시 calculate함수에 들어가 값을 리턴하기를 반복할 것이다.

3.clear
초기화를 시키기 위해서는
operatorForAdvanced = undefined; -> 기호 초기화
display.textContent = '0'; 0으로 바꾸기
firstnum ='0' 이여함 이건 왜쓰냐하면
display 구조상
firstnum + operate + display.textconten =t이기 때문이다.
그러니 각 각 초기화를 해주는 것

4.calcualte
display.textContent = calculate(firstNum, operatorForAdvanced, display.textContent) 이건 계산 즉 마지막 값에 calculate함수를 할당하는 데 그안의 전달변수가 각 각 넣어져있고 이것이 calculate함수를 호출하는 것이다.

5.소수점
.이 없거나 숫자또는 계산값을 눌렀거나 연산자가 아니라면
345 (0)
2 또는 12 (0)
3 + (x)
345 -> 345.

만약 전 버튼이 연산자면 -> 3 + .--> 3 + 0.

previousKey = 'decimal';

profile
프론트엔드 개발자 안윤경입니다

0개의 댓글