반응형

# 자바스크립트를 이용한 새로고침

## window.location.reload()

<a onclick="window.location.reload()"><i class="fas fa-sync-alt"></i></a>

## history.go()

<a onclick="history.go(0)"><i class="fas fa-sync-alt"></i></a>

## window.location.href=window.location.href

<a onclick="window.location.href=window.location.href"><i class="fas fa-sync-alt"></i></a>

## 자동 새로고침

<META HTTP-EQUIV="refresh" CONTENT="시간">

시간에 10 입력시 10초마다 자동 새로고침된다.
반응형
반응형

# 자바스크립트 2차원 배열 생성, 사용

  • 자바스크립트는 한번에 2차원 배열을 생성할 수 없다. ( var arr = [][]; 한번에 2차원 배열 선언 불가능 )
  • 자바스크립트는 진정한 2차원 배열이 없다.
  • 자바스크립트의 2차원 배열은 1차원 배열에 또 다른 배열 객체를 추가하여 2차원 배열을 만드는 방법을 사용한다. 

## 생성방법

  • 별도의 함수를 만들어서 2차원 배열을 생성하는 방법
// 별도의 함수를 만들어서 2차원 배열을 생성하는 방법
function arr2Create(rows, columns) {

    var arr = new Array(rows);
    
    for (var i = 0; i < rows; i++) {
        arr[i] = new Array(columns);
    }
    
    return arr; 
}

var arr = arr2Create(3, 3); // arr[3][3]
  • Arry 객체에 배열생성함수를 추가하여 2차원 배열을 생성하는 방법
// Arry 객체에 배열생성함수를 추가하여 2차원 배열을 생성하는 방법
Array.matrix = function (m, n, initial) {
    var a, i, k, mat = [];
    for (i = 0; i < m; i += 1) {
        a = [];
        for (k = 0; k < n; k += 1) {
            a[k] = initial;
        }
        mat[i] = a;
    }
    return mat;
};

// matrix(행, 열, 기본값)
var arr = Array.matrix(5, 2, 0);

 

반응형
반응형

# 제이쿼리 기초

## 제이쿼리 불러오기

// 제이쿼리 불러오기
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

See the Pen 제이쿼리 불러오기 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

## 제이쿼리 슬라이더의 사이드 버튼에 클릭이벤트 설정

See the Pen 슬라이더의 사이드 버튼에 클릭이벤트 설정 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

## 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정

See the Pen 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정 by dlagusgh1 (@dlagusgh1) on CodePen

## 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정(사단장 변수 없이)

See the Pen 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정(사단장 변수 없이) by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

## 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정(변수 없이)

See the Pen 제이쿼리 엘리먼트 3개 생성하고 각각 클릭하면 서로 다른 경고창 내용이 나오도록 설정(변수 없이) by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

## 제이쿼리 엘리먼트 3개 만들고 각각을 클릭하면 서로 다른 디자인 변화가 일어나도록 구현

See the Pen 제이쿼리 엘리먼트 3개 만들고 각각을 클릭하면 서로 다른 디자인 변화가 일어나도록 구현 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

## 제이쿼리 버튼을 클릭하면 반응하는 엘리먼트 생성

See the Pen 제이쿼리 버튼을 클릭하면 반응하는 엘리먼트 생성 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

## 제이쿼리 버튼 2개 만들고 각각 다르게 반응하게 구현

See the Pen 제이쿼리 버튼 2개 만들고 각각 다르게 반응하게 구현 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

## 제이쿼리 index, prev, next

See the Pen 제이쿼리 index, prev, next by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

 

# 제이쿼리 이미지 슬라이더 기초

## 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더 배경색 변경되도록 구현

### 코드1

  • var $클릭된_버튼 = $(this);
  • var $btns = 클릭된_버튼.parent();
  • var $슬라이더 = $btns.parent();
  • 슬라이더.css('background-color',

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더 배경색 변경되도록 구현 by dlagusgh1 (@dlagusgh1) on CodePen.

 

### 코드2

 

### 코드3

  • var $슬라이더 = $(this).parent().parent();
  • 슬라이더.css('background-color',);

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더 배경색 변경되도록 구현3 by dlagusgh1 (@dlagusgh1) on CodePen.

### 코드4

  • $(this).parent().parent().css('background-color', 'pink');

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더 배경색 변경되도록 구현4 by dlagusgh1 (@dlagusgh1) on CodePen.

### 코드5 

  • var $슬랑이더 = $(this).closest('.slider');
  • 슬라이더.css('background-color',);
  • $(this).closest('.slider') : this의 조상 중 slider 클래스를 가지고 있는 것으로만 추리고, 그 중 this와 가장 가까운 단 한명만 검색한다.

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더 배경색 변경되도록 구현5 by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더에 속한 슬라이드가 삭제되도록 구현

### 코드1

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더에 속한 슬라이드가 삭제되도록 구현1 by dlagusgh1 (@dlagusgh1) on CodePen.

## 코드2

See the Pen 제이쿼리 좌, 우 버튼 클릭 시 관련 슬라이더에 속한 슬라이드가 삭제되도록 구현2 by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

## 제이쿼리 좌, 우 버튼을 클릭 했을 때 관련된 슬라이더만 작동되도록 구현

See the Pen 제이쿼리 좌, 우 버튼을 클릭 했을 때 관련된 슬라이더만 작동되도록 구현 by dlagusgh1 (@dlagusgh1) on CodePen.

 

##

반응형
반응형

# 자바스크립트 기초

## 자바스크립트의 2대 구성요소

  • 변수

 

## 자바스크립트의 2대제어요소

  • 조건문
  • 반복문

 

## 자바스크립트가 CSS보다 우선순위가 높다.

  • CSS와 자바스크립트에서 동일한 항목에 대해 작업을 한다면, 우선순위가 높은 자바스크립트의 값으로 적용된다.

See the Pen 자바스크립트가 CSS보다 우선순위가 높다. by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 자바스크립트와 CSS가 협력하는 예제

See the Pen 자바스크립트와 CSS 협력 방법 by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 콘솔

### 자바스크립트 - 콘솔 출력 ( console.log( ) )

  • console.clear( ); => 콘솔 비우기.
  • console.log("출력할 문구 등 입력"); => 콘솔에 입력한 문구 등 출력

See the Pen 콘솔 출력 예제(자바스크립트) by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 변수

### 자바스크립트 - 변수 값 변경(변수 사용 없이 변경)

  • 주어진 변수에 변경하고자 하는 값을 직접 입력.

See the Pen 자바스크립트 변수 변경(변수사용 없이) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 - 변수 값 변경(별도의 변수 사용)

  • 주어진 변수 외에 별도의 변수를 생성하여 주어진 변수 중 한 값을 저장 후 해당 변수를 이용하여 변경

See the Pen 자바스크립트 변수 값 변경(별도의 변수 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 변수 심화

### 자바스크립트 변수 심화 - 구구단 8단 출력(변수 사용 없이)

See the Pen 자바스크립트 변수 심화 99단 출력(변수 사용 없이) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 변수 심화 - 구구단 8단 출력(dan 변수만 사용)

See the Pen 자바스크립트 - 변수 값 변경(dan 변수만 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 변수 심화 - 구구단 8단 출력(dan, i 변수 사용)

See the Pen 자바스크립트 변수 심화 99단 출력(변수 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 조건문

### 자바스크립트 - 성년/미성년인지 구분하는 조건문

  • if ~ else로 조건 설정하여 조건에 따라 콘솔 출력.

See the Pen qBZEVVz by dlagusgh1 (@dlagusgh1) on CodePen.

 

 

## 반복문(while)

### 자바스크립트 구구단 8단 출력(while문 사용)

See the Pen 자바스크립트 구구단 8단 출력(while문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 1부터 100까지 출력(while문 사용)

See the Pen 자바스크립트 1부터 100까지 출력(while문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 1부터 100까지의 합 출력(while문 사용)

See the Pen 자바스크립트 1부터 100까지의 합 출력(while문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 1, 2, 3을 10번 출력(while문 사용)

See the Pen 자바스크립트 1, 2, 3을 10번 출력(while문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 구구단 2~9단 출력(while문 사용)

See the Pen 자바스크립트 구구단 2~9단 출력(while문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

 

## 반복문(for)

### 자바스크립트 구구단 8단 출력(for문 사용)

See the Pen 자바스크립트 구구단 8단 출력(for문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 구구단 2~9단 출력(for문 사용)

See the Pen 자바스크립트 구구단 2~9단 출력(for문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 구구단 2~9단 출력(이중 for문 사용)

See the Pen 자바스크립트 구구단 2~9단 출력(for문 2개만 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 구구구단 출력(삼중 for문 사용)

See the Pen 자바스크립트 구구구단 출력(삼중 for문 사용) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 1부터 1000까지 출력(for문)

See the Pen 자바스크립트 1부터 1000까지 출력(for문) by dlagusgh1 (@dlagusgh1) on CodePen.

### 자바스크립트 1부터 1000까지 합 출력(for문)

See the Pen 자바스크립트 1부터 1000까지 합 출력(for문) by dlagusgh1 (@dlagusgh1) on CodePen.

## 함수

### 값의 종류

  • 실행할 수 없는 계열 : 숫자, 문장, 객체, 논리값(true/false)
  • 실행할 수 있는 계열 : 함수

### 자바스크립트 함수

  • 함수란 쉽게 말해 함수(자판기)를 만드는 행위이다.
  • 다음 예제에서 중 괄호( { } )의 의미 : 함수의 시작과 끝을 정의.
  • 다음 예제에서 변수의 이름은 say 이고 이를 함수명이라고도 한다.
var say = function() {
	console.log("== 함수 시작 ==");
    console.log("안녕하세요.");
    console.log("반갑습니다!");
    console.log("== 함수 끝 ==");
}


// sqy 라는 변수안에 있는 데이터를 실행한다. 즉, 함수(자판기)를 실행하는 행위
say();
say();
say();

### 자바스크립트 typeof 함수(값의 타입을 반환)

  • 함수(자판기)에 입력 값(동전과 음료수 선택버튼 번호)을 넣으면, 반환 값(음료수)를 얻을 수 있다.
  • typeof 함수는 인자로 입력받은 값의 타입을 반환(리턴)한다.
var a = 1 > 1;
var typeOfA = typeof(a);
comsole.log("typeOfA : " + typeOfA); // boolean

var b = 1 > 1;
var typeOfB = typeof(b);
comsole.log("typeOfB : " + typeOfB); // boolean

var c = 1 + 1;
var typeOfC = typeof(c);
comsole.log("typeOfC : " + typeOfC); // number

var d = "1 + 1";
var typeOfD = typeof(d);
comsole.log("typeOfD : " + typeOfD); // string

### 함수 정의 후 실행하는 예제

// 문제 : 함수 3개를 정의하고 실행해주세요.

console.clear();

var 함수1 = function() {
    console.log("함수1 실행됨");
};

함수1();	// "함수1 실행됨" 출력.

var 함수2 = function() {
    console.log("함수2 실행됨");
};

함수2();	// "함수2 실행됨" 출력.

function 함수3() {
    console.log("함수3 실행됨");
}

함수3();	// "함수3 실행됨" 출력.

### 함수&매개변수

  • 매번 다르게 행동하는 함수 생성 예제1
console.clear();

// 문제 : 매번 다르게 행동하는 함수를 만들어주세요.

console.log("== 정답1 ==");
function hello(a) {
    console.log(a);
}

var a;
a = "안녕하세요."
hello(a);
// 출력 => 안녕하세요.

a = "곤니짜와."
hello(a);
// 출력 => 곤니짜와

a = "헬로."
hello(a);
// 출력 => 헬로



console.log("== 정답2 ==");
// 전역변수
var mode = 0;

function hello() {
    // 지역변수라고 합니다.
    // 함수가 실행될 때 매번 새로 만들어집니다.
    var temp = 0; // 이 라인은 정답과 관련이 없습니다.
    
    mode++;
    
    if ( mode == 1 ) {
        console.log("안녕하세요.");
    }
    else if ( mode == 2 ) {
        console.log("곤니짜와");
    }
    else {
        console.log("헬로");
    }
}

hello();
// 출력 => 안녕하세요.

hello();
// 출력 => 곤니짜와

hello();
// 출력 => 헬로
  • 매번 다르게 행동하는 함수 생성 예제2
console.clear();

// 문제 : 매번 다르게 행동하는 함수(v2)를 만들어주세요.

function hello(a) {
    
    var msg;
    
    if(a == "한국어") {
        msg = "안녕하세요.";
    } else if(a == "일본어") {
        msg = "곤니짜와.";
    } else if(a == "영어") {
        msg = "헬로.";
    }
    
    console.log(msg);

}

// "한국어" => 함수에게 넘기는 부가적인 정보, 인자
hello("한국어");
// 출력 => 안녕하세요.

hello("일본어");
// 출력 => 곤니짜와

hello("영어");
// 출력 => 헬로
  • 특정 언어로 여러번 인사하는 함수 생성(매개변수 2개)
console.clear();

// 문제 : 특정 언어로 인사를 여러번 하는 함수를 만들어주세요.

function hello(msg, i) {

    if (msg == "영어") {
        msg = "hello";   
    } else if (msg == "한국어") {
        msg = "안녕하세요";
    } else if (msg == "일본어") {
        msg = "곤니짜와"
    } 
    
    for ( var k = 1; k <= i; k++ ) {
        console.log(msg);
    }
}
hello("영어", 2);
// 출력
// hello
// hello
hello("한국어", 5);
// 출력
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
hello("일본어", 6);
// 출력
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와
  • 매개변수 2개 printDan 함수
// 문제 : 매개변수 2개짜리 printDan 함수를 구현해주세요.

console.clear();

function printDan(dan, limit) {
    console.log("== " + dan + "단 출력 ==");
    
    for ( var i = 1; i <= limit; i++ ) {
        console.log(dan + " * " + i + " = " + dan * i);
    }
}

printDan(3, 3);
// 출력
/*
== 3단 출력 ==
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
*/

printDan(2, 1);
// 출력
/*
== 2단 출력 ==
2 * 1 = 2
*/

 

## 함수&리턴

  • 매개변수는 함수(자판기)에서 데이터가 들어오는 입구.
  • return(리턴) 구문은 함수(자판기)에서 데이터가 나가는 출구.
  • 함수의 호출 구문은 return 이후의 값으로 변신한다.
  • 참고로 데이터는 오직 딱 1개만 리턴될 수 있다.
console.clear();

var plus = function(num1, num2) {
	// 지역 변수 sum
    // 지역 변수 sum은 전역 변수 sum과 아무 관련이 없다.(동명이인 같은 것) 
	var sum = num1 + num2; 
    
    return sum;
}

// 전역 변수 sum
var sum;

sum = plus(2, 4); // 함수 실행되면 6으로 변신.
console.log("sum : " + sum); // sum = 6

sum = plus(10, 20); // 함수 실행되면 30으로 변신.
console.log("sum : " + sum); // sum = 30

### 함수의 리턴을 이용 4칙연산 함수 만들기

// 문제 : 4칙연산 함수를 만들고 실행해주세요.

console.clear();

var CalculatorPlus = function(a, b) {
    return a + b;
}

var CalculatorMinus = function(a, b) {
    return a - b;
}

var CalculatorMultiply = function(a, b) {
    return a * b;
}

var CalculatorDivision = function(a, b) {
    return a / b;
}

var plus = CalculatorPlus(10, 20);
var minus = CalculatorMinus(30, 10);
var multiply = CalculatorMultiply(10, 20);
var division = CalculatorDivision(20, 10);

console.log("plus : " + plus);
console.log("minus : " + minus);
console.log("multiply : " + multiply);
console.log("division : " + division);

 

## 객체

### 자바스크립트 객체

  • { } : 객체를 변수 외부에 만든다. 그리고 주소값을 리턴(반환) 한다.
var 사람1 = {};  // 사람1이라는 변수에는 객체(버스와 비슷)가 아닌, 객체의 주소값이 저장된다.

// 아래는 주소값을 이용하여 객체(실체)에 접근, 좌석(이름, 나이)를 만들고 값을 넣는다.
사람1.이름 = "홍길동";
사람1.나이 = 22;

console.log("사람1 이름 : " + 사람1.이름); // 사람1 이름 : "홍길동"
console.log("사람1 나이 : " + 사람1.나이); // 사람1 나이 : 22

console.log(사람1); // 나이 : 22, 이름 : "홍길동"
  • 아래처럼 추가도 가능하다.
console.clear();

var 사람1 = {
	"이름" = "홍길동",
	나이 = 22
};

// 추가
사람1.성격 = "정의로움";

console.log(사람1);	// 나이: 22, 성격: "정의로움", 이름: "홍길동"
  • 아래와 같이 값을 넣을수도 있다.
console.clear();

var 사람1 = {};

// 사람1.이름 = "홍길동"; 과 동일
사람1["이름"] = "홍길동";


// 사람1.나이 = 22; 과 동일
사람1["나이"] = 22;

var 이름 = "나이";

console.log("사람1 이름 : " + 사람1.이름);	// 사람1 이름 : 홍길동
console.log("사람1 나이 : " + 사람1[이름]);	// 사람1 나이 : 22

console.log(사람1);	// 나이: 22, 이름: "홍길동"

### 자바스크립트 각기 다른 3가지 방법으로 객체 생성

// 문제 : 각기 다른 3가지 방법으로 객체를 만들어주세요
console.clear();

var 사람1 = {
    이름 : "홍길동",
    나이 : 22
};

console.log(사람1.이름); // 객체를 한번에 만듬
// 출력 => 홍길동



var 캐릭터1 = {};
캐릭터1.공격무기 = "활";

console.log(캐릭터1.공격무기); // `.` 문법으로 데이터 채워넣기
// 출력 => 활



var 김제동 = {};
김제동["성격"] = "좋음";

console.log(김제동.성격); // [] 문법으로 데이터 채워넣기
// 출력 => 좋음

### 자바스크립트 객체안의 함수를 올바르게 정의

// 문제 : 객체안의 함수를 올바르게 정의해주세요.
// 조건 : 아래와 같이 출력되어야 합니다.

console.clear();
var 사람1 = {};
  사람1.이름 = "홍길동";
  사람1.나이 = 22;
    
사람1.자기소개 = function() {
    console.log("저는 " + 사람1.나이 + "살 " + 사람1.이름 + "입니다.");
};

사람1.자기소개();
// 출력 => 저는 22살 홍길동입니다.


사람1.나이++;
사람1.이름 = "홍길순";

사람1.자기소개();
// 출력 => 저는 23살 홍길순입니다.

 

### 자바스크립트 객체안의 함수를 올바르게 정의(this 사용)

// 문제 : 객체안의 함수를 올바르게 정의해주세요.
// 조건 : 아래와 같이 출력되어야 합니다.
// 조건 : this를 사용해주세요.

console.clear();
var 사람1 = {};
	사람1.이름 = "홍길동";
	사람1.나이 = 22;
    
사람1.자기소개 = function() {
    // this는 주어를 의미
    // this는 자기소개라는 일을 수행하는 주체(주어)에 해당
    // this는 `사람1`안에 들어있는 객체를 의미
    // 같은 객체안에 들어있는 식구끼리는 this.으로 접근할 수 있습니다.
    console.log("저는 " + this.나이 + "살 " + this.이름 + "입니다.");
};

사람1.자기소개();
// 출력 => 저는 22살 홍길동입니다.


사람1.나이++;
사람1.이름 = "홍길순";

사람1.자기소개();
// 출력 => 저는 23살 홍길순입니다.

 

## 자바스크립트의 4대 구성요소

### 조건문

  • if문
  • switch문

### 반복문

  • while
  • for
  • do while

### 변수

### 값(데이터, 자료)

  • 자료형

### 실행할 수  없는 자료(데이터)

  • 숫자(number)
  • 문장(string)
  • 논리(boolean)
  • 객체(object) : 갹체는 일종의 버스이다. 버스에는 승객을 계속 추가할 수 있다. 복잡한 자료를 만들때 사용하며, [ ], . 문법으로 객체 내부의 변수(좌석)을 관리한다.

### 실행할 수 있는 자료(데이터) - 함수

  • 지역 변수 : 함수가 실행될 때만 잠깐 생겼다가 사라지는 하루살이 변수( 찰나동안에만 존재 ), 해당 변수의 활동범위는 함수를 벗어날 수 없다.
  • 매개 변수 : 지역변수의 한 종류로 함수의 데이터 입구 역할을 한다.
  • 리턴(return) : 함수의 데이터 출구 역할을 한다.

 

## 세미콜론 안 붙이는 곳

  • if, switch, while, for, function 뒤
  • 단, 아래 형식에는 세미콜론을 붙인다.
var hello = function() { 

}; 
반응형

+ Recent posts