그냥

YEN·2022년 7월 18일
0

연습장

목록 보기
1/2
post-thumbnail
var session = prompt("What is your favorite session? 1 - marketing, 2 - developing 3 - designing");

switch(session) {
    case "1": document.write("<p> The marketing session is in <strong> 201 room </strong> ... </p>")
        break;
    case "2": document.wrtie("<p> The developing session is in <strong> 202 room </strong> ... </p>")
        break;
    case "3": document.write("<p> The designing session is in <strong> 203 room </strong> ... </p>")
        break;

    default: alert("Wrong value");
}

//switch 문은 if-else 문을 여러 개 사용하는 것보다 편리, case 별로 조건 입력 가능

var i;
var sum = 0;

for(i>0; i<101; i++) {
    sum+= i;
}
document.write("result is"+ sum);

//for문을 사용하여 1부터 100까지 더하기

var i, j

for(i>0; i<10; i++) {
    document.write(i+ "단");
    for(j=1; j<10; j++) {
        document.write(i + "X" + j + "=" + i * j);
    }
}

//for문을 사용하여 구구단 만들기

var n = prompt("Insert number");
var m = "";

if(n !==null) {  //취소버튼을 누르지 않았는지 체크
    var nFact = 1;  //결과값
    i++;  //카운터

    while(i<=n) {
        nFact * i;
        i++;
    }
    m = n + "!" + "=" + nFact;
}
else m = "You didn't insert value.";  //값이 입력되지 않았을 때

document.write(m); //결과 표시

//while 문을 사토하여 팩토리얼 만들기
//for문은 초깃값과 반복 크기가 일정할 때 사용 ex)초깃값: 1, 숫자 1~9까지를 반복해서 사용할 때 -> for(i=1; i<10; i++)

  • 변수는 let 이나 const
  • let {}로 묶인 부분에서만 유효하고 벗어나면 사용불가, 재할당은 가능하지만 재선언은 불가능
  • const {}로 묶인 부분에서만 유효하고 벗어나면 사용불가, 변하지 않은 값을 변수로 선언할 때, 재할당과 재선언 모두 불가능
  • for문, es6에서 let 사용

function calcSum(n) {
    var sum = 0;

    for(let i = 1; i<n+1; i++) {
        sum += i;
    }
    document.write("1부터" + n + "까지 더하면" + sum);
}

var userNumber = prompt("얼마까지 더할까요?");
if(userNumber !== null) {
    calcSum(parseInt(userNumber));  //parseInt() 정수로 변환한 후 입력 받은 userNumber를 cakcSum에 실행
}

//화살표 함수
let sum = (a,b) => a + b;

//객체 new

var now = new Date("2022-07-18");  //오늘 날짜
var firstDay = new Date("2022-09-01");  //시작 날짜

var toNow = now.getTime();  //오늘까지 지난 시간 (밀리초)
var toFirst = firstDay.getTime();  //첫날까지 지난 시간 (밀리초)
var passedTime = toNow - toFirst;  //첫날부터 오늘까지 지난 시간 (밀리초)

passedTime = Math.round(passedTime/(1000*60*60*24));  //밀리초를 일수로 계산하고 반올림

document.querySelector('#result').innerText = passedTime;

//getTime() 시간이 얼마나 흘렀는지 계산 (밀리초로 단위)
//round() 반올림하고 최종 정숫값
//날짜를 계산하는 프로그램 코딩을 시작한 날짜를 지정하고 현재까지 며칠 동안 하였는지 계산한 총 일수를 계산

var seed = prompt("전체 응모자 수: ","");  //응모자 수
var picked = Math.floor((Math.random() * seed) + 1); //무작위 뽑기

document.write("전체 응모자 수:" + seed + "명");
document.write("당첨자:" + picked + "번");

//Math.random() 0~1 사이 무작위 숫자가 출력 
//1~100사이에서 무작위 수 출력 Math.random() * 100 + 1 -> 100을 곱하면 대략 0.000~99.999 사이 수 출력 -> 이 값에 +1


var fruit = "apple";
// 변수 선언 및 데이터 초기화

fruit = 'banana';
// 데이터 변경

console.log(fruit);
// 변수 안에 데이터를 확인할 때

// 변수 선언은 데이터를 담는 공간
// 변수 초기화는 변수에 데이터 전달

document.write();
//변수의 데이터를 웹화면에 출력

document.writeln();
//출력값 사이에 공백을 넣을 수 있다.

var str = "20"
//숫자가 아닌 문자열

var str2 = "He\'s a boy"
//역슬레시를 사용하면 문자열이 끝나는게 아니라 끝까지

var num = 10
//별도의 기호 없이 숫자를 입력할 때

var fun1 = function(width, height) { //매개변수
   return width * height;
}
var result = fun1(20,10); //함수 인자
//함수 생성
console.log(result);

//함수 자체를 console.log()로 감싸기
console.log(fun1(20,10));

var fruit = ["apple", "banana", "grape"]
console.log(fruit[0]);
// 0번째 인덱스 데이터 추출

fruit[0] = "grape";
//0번째 인덱스 데이터 변경

var student = { //객체명
    name : "yen", //프로퍼티명
    age : 20,
    skills : ["english", "javascript", "react"],
    sum : function(num1, num2){
        return num1 + num2;
    }
}
console.log(student.name); //객체명.프로퍼티명
console.log(student['name']); //객체명["프로퍼티명"]
student.age = 30 //데이터 변경

//undefined : 변수 안에 데이터를 입력하지 않은 상태 (데이터가 없는 것)
//null : 개발자가 임의로 변수 안에 빈 데이터를 삽입한 상태 (빈데이터를 지정한 것)
//boolean : 참 또는 거짓

var str2 = "hello world";
str2.length; //문자열의 길이
str2.charAt(0); //문자 첫번째 문자 추출
str2.split(" ") // 공백 기준으로 문자를 나누어 추출

//배열에서

fruit.push() //배열 뒤에 데이터 삽입
fruit.unshift() //배열 앞에 데이터 삽입
fruit.pop() //배열 뒤의 데이터 제거
fruit.shift() // 배열 앞의 데이터 제거

Math.abs() //절대값
Math.ceil() //올림
Math.floor() //내림
Math.random() //임의의 숫자 출력

parseInt() //정수 형태로 변환
parseFloat() //실수 형태로 변환

console.log(20 % 10) // 나눗셈의 나머지
// 문자열도 산술연산자를 사용 가능

console.log(num++);
// ++가 뒤에 붙으면 num을 출력한 후 num+1 수행
// ++ : 1씩 증가
// -- : 1씩 감소

// == : 값이 같다
// === : 데이터의 타입과 값이 같다
// !== : 값이 같지 않다
console.log(10 == "10") //true
console.log(10 === "10") //false

console.log(10 === 10 && 20 === 30);
//&& : 앞 뒤 조건 모두 참인 경우에만 참을 반환 and 연산자
console.log(10 === 10 || 20 === 30);
//|| : 둘 중 하나만 참이여도 참을 반환하는 or 연산자

//조건문 : 주어진 조건에 따라 결과값을 출력하는 구문
//조건으로는 비교 연산자나 논리 연산자 사용

var a = 20;
var b = 40;
if (a>b) {
    console.log("a는 b보다 크다");
} else {
    console.log("a는 b보다 작거나 같다")
}

var a = 20;
var b = 30;
var c = 40;

if (a>b) {
    console.log()
} else if (b>c) {
    console.log()
} else if (a<c) {
    console.log()
} else () {
    console.log()
};

if(a != b) {
    if (a>b) {console.log()}
    else {console.log()}
} else {console.log()}

//if문 안에 또 다른 if 문을 삽입할 때 사용

for (var i = 0; i < 10; i++) {
    console.log(i);
}

// for (초기화한 변수값; 조건; 증감 표시) {수행할 명령}

var num = 0;
while (num <10) {
    console.log(num);
    num++;
}

//while(조건){수행할 명령}

var i = 12;
do {
    console.log(i);
    i++
} while (i<10);

// do{수행할 명령} while(조건)
// while의 조건과 관계 없이 do의 명령을 무조건 실행부터 한다.

//주사위게임

var dice = Math.floor(Math.random() *6) + 1

//소수 출력하기

function isPrime(n) {
    var divisor = 2;  //2부터 나누기 시작
    while(n>divisor) {  //n이 나누는 수보다 클때까지
        if (n % divisor === 0) {  //n과 나누는 수가 나누어 떨어지면
            return false;
        } else {
            divisor++; //나누어 떨어지지 않는다면 나누는 수 1 증가
        }
    } return true;
}

//문자열 거꾸로 출력
//문자열 맨 뒤부터 출력해야 하므로 i가 0이 될 때까지 1씩 감소
//인덱스는 0부터(문자열 길이 - 1)이라는 점 유의

function reverse (str) {
    var reverStr = ''; //빈 문자열
    for (var i = str.length -1; i >= 0; i--) {
        reverStr = reverStr + str.charAt(i);  //str의 i번째 문자를 빈 문자열에 추가
    } return reverStr;
}
console.log(reverse('Hello'));

0개의 댓글