[개발일지 27일차] while문, 조건문 써보기

MSJ·2022년 6월 10일
0

WEB

목록 보기
27/41
post-thumbnail

2022-06-10

저번 시간의 궁금했던 점 해결

i = i + 1 = 로 값을 대입시켜주지 않으면 구문 등 여러 오류가 날 수도 있으며,
대입 연산자를 써야 i에 값을 저장시켜줘서 반영이 된다

while문

for (let i = 0 ; i < 10 ; i++)
for문의 조건은 i < 10 횟수 부분인데, while의 조건은 조금 다르다

while(true){
for()

}
무한루프에 break;를 일반적으로 쓰지만
while( i < 10){

}
처럼 조건을 쓸 수도 있다.

while문 써보기

<script>
let i = 0
        while(confirm("계속 진행을 원하시면 확인을 누르세요")) {
            alert(`${i}번째 반복문입니다.`)
            i = i + 1
        } 
</script>

배열에 있는 속성들 꺼내어 보기

<script>
let i = 0
        const array = [1,2,3,4,5,6,7]
        while(i < array.length) {
            alert(`${i}번째 반복문입니다.`)
            console.log(array[i])
            i = i + 1
        } 
</script>

break 쓰기

반복문 빠져나오기는 보통 while을 많이 쓰지만 예시에는 for문도 써봄

무한 반복문 멈춰 보기1

<script>
let i = 0
        while(true) {
            alert(`${i}번째 반복문입니다.`)
            break
        } 
</script>

무한 반복문 멈춰 보기2

<script>
  for(let j = 0 ; j < 10 ; j++) {
            alert(`${j}번째 반복문`)
            break
        }
</script>

break로 무한 반복문 빠져나와보기 3

<script>
        for(let j = 0 ; j < 10 ; j++) {
            alert(`${j}번째 반복문`)
            const tf = confirm("그만 두시겠습니까?")
            if(tf){
                break
            }
            j = j + 1 //이걸 쓰면 j++에 j=j+1까지 하니까 0 2 4 6 8 으로 늘어난다...
        }
</script>

조건문 반대 로직

반대의 로직은 not의 의미를 가진 ! 을 쓰면 된다

<script>
 for(let j = 0 ; j < 10 ; j++) {
            alert(`${j}번째 반복문`)
            const tf = confirm("계속 하시겠습니까?")
            if(!tf){
                break
            }
            j = j + 1
        }
</script>

continue 쓰기

점프를 하기 때문에 confirm 실행문 수행을 안한다

<script>
      for(let j = 0 ; j < 10 ; j++) {
            alert(`${j}번째 반복문`)

            continue //아래 명령문들을 실행하지 않고 반복문 위로 점프하여 다음 반복문의 절차를 수행함

            const tf = confirm("계속 하시겠습니까?")
            if(!tf){
                break
            }
        }
</script>

for 문 활용

반복문을 쓸 때는 구조를 파악하는 것이 중요하다

*
**
***
****
*****
******
*******
********
*********

이것과 같은 구조를 콘솔창에서 출력하려면 어떻게 해야할까?

<script>
let result=""
        for(let i = 1; i < 10; i++){
            for(let j=0; j<i; j++){
                result += "*"
            }
            result += "\n"
        }
        console.log(result) 
</script>

console log 밑에 쓰는 이유는 리소스가 반복되면 속도가 느려질 수 있어서 여러번 돌려놓고 한꺼번에 출력하게 만드는 것.

도큐먼트에 글을 출력하고 싶다면, document.wirte를 쓰면 된다.

<script>
        for(let i = 0; i <=10; i++) {
            for(let j = 0; j <= i; j++) {
                document.write('*');
            }
            document.write('<br>')
        }
</script>

function (함수)

함수는 한 번 써놓은 식을 호출해서 쓸 수 있다는 장점이 있다.

<script>

익명함수, 프로시저 함수----------------------
        const f = function() {
            console.log("실행문1")
            console.log("실행문2")
            console.log("실행문3")
            }
            f()
            // f(typeof(f()))
            console.log(f)

선언적 함수 --------------------------------
        function f(){

        }

수학적 함수 --------------------------------
        const fk = function(x) {
            return x + 5
        }
        console.log(fk(5))


함수 비교하기-------------------------------
        일반적  forlet limit = 10
        for(i=0; i<10; i++){
            i=i+1
        }console.log(i)
 -------------------------------------잘 안씀

 프로시저 함수-------------------------
        let limit = 10
        const f = function() {
            let result = 0
            for(let i = 1; i < limit; i++){
                result = result+j
            } console.log(f)
            }

            limit = 20
            f()
        
            limit = 100
            f()

            limit = 1000
            f()

수학적 함수-------------------------
        let result
        const fk = function(x) {
            for(let i=1;i<x;i++){
                result=result + i
            }
            return result
        }
        console.log(fk(5))
        console.log(fk(1000))
</script>

함수의 형태1 - 매개변수가 없는 프로시저 함수

<script>
const 함수명 = function(){
            실행문
            실행문
        }

		함수명()  //함수를 호출해서 쓸 수 있다는 것
</script>

함수의 형태2 - 매개변수가 있는 수학적 함수

<script>
      const 함수명 = function(name){
            let fullname = ""
            fullname = name + "님 반갑습니다."
            return fullname
            실행문
        }
        
		console.log(함수명("홍길동"))
		console.log(함수명("가나다"))
</script>

예전에는 함수를 어떤식으로 썼을까

<script>
  function 함수명(name) {
            실행문
            실행문
        }
</script>

결과는 같지만 내부적으로 돌아가는 로직은 다르다.
아래처럼 쓸 경우 함수가 함수를 덮어씌우는 경우가 생긴다. 요즘에는 const로 선언하면 같은 함수를 재 선언할 때 에러가 나면서 중지되므로 const 추세로 바뀜!

어려운 점

함수에 대한 이해를 아직...... 제대로 못하겠음.

해결 방법

직접 코딩을 써보면서 익히는 수 밖에 없어보인다..

소감

점점 더 어려워지는 느낌.........

profile
제로부터 시작하는 프로그래밍&코딩

0개의 댓글