함수 정의의 또 다른 방법


함수는 변수와 동급이다. 즉, 변수에 함수가 대입될 수 있다.


function hello() {

alert("안녕하세요");

}


var world = hello;                        // 변수에 함수를 대입한다.

world();                                     // 함수가 대입된 변수는 그 자체가 함수가 된다.


위의 형태는 다음과 같이 축약 표현이 가능하다.


// 대입문이므로 {}뒤에 세미콜론이 존재해야 한다.


var world = function() {

alert("안녕하세요");

};


world();


객체


하나의 변수 안에 또 다른 변수들과 함수들을 기능의 성격에 따라 하나의 그룹으로 묶어서 포함시켜 놓은 형태.


- 객체는 웹 페이지에 보여지는 모든 것이 될 수 있다.

* html 태그가 JS에서는 객체로 인식될 수 있다. [var tag = document.getElementById("id값"); tag.innerHTML = "~~";]

* 즉, HTML 태그 안에는 변수와 함수가 내장되어 있다는 의미가 된다.

- 객체 안에 포함된 변수를 프로퍼티 혹은 멤버변수라고 한다.

- 객체 안에 포함된 함수를 메서드라고 한다.

- 메서드 안에서 같은 객체 내의 프로퍼티나 다른 메서드에 접근하기 위해서는 this 키워드를 사용한다.



// 비어있는 임의의 변수 = 객체


var foo = {};


// 프로퍼티 정의

foo.num1 = 100;

foo.num2 = 200;


// 메서드 정의

foo.sum = function() {

return this.num1 + this.num2;

};


// 객체 내의 메서드 호출

var result = foo.sum();        //    300이 리턴된다.



내장객체


웹 페이지 제작에 필요한 기본 기능들이 정의되어 있는 객체

브라우저에 내장되어 있기 때문에 개발자는 별도의 객체 정의 과정을 생략하고

내장객체에 포함된 프로퍼티와 함수들의 기능을 파악하여 활용할 수 있다.


String


문자열 데이터는 그 자체가 하나의 객체가 된다.


var name = "Javascript";

var word_count = name.length;


- length : 문자열의 길이(글자 수)를 조회할 수 있는 프로퍼티


string charAt(int position)


- position 번째의 글자를 리턴한다.


int indexOf(string search [, int position])


- 문자열에서 search가 처음 나타나는 위치를 리턴한다.[0부터 시작]

- position은 검색을 시작할 위치

- search를 찾지 못한 경우 -1을 리턴한다.


int lastIndexOf(string search [, int position])


- 문자열에서 search가 마지막으로 나타나는 위치를 리턴한다.

- 문자열의 탐색은 뒤에서 부터 진행되지만, 검색된 내용의 위치는 처음부터 카운트

- position은 검색을 시작할 위치

- search를 찾지 못한 경우 -1을 리턴한다.


string substring(int start, int end)


- 문자열의 start번째 글짜부터 end의 위치 전까지 잘라낸 값을 리턴한다.


string toUpperCase();


- 문자열에서 영어를 모두 대문자로 변환하여 리턴한다.


string toLowerCase();


- 문자열에서 영어를 모두 소문자로 변환하여 리턴한다.


Array(배열)


같은 종류의 변수를 캐비넷 같은 공간에 그룹화 한 형태


배열의 생성


var data = new Array("a", "b", "c");


// 혹은


var data = ['a', 'b', 'c'];            // <--- 이 방법 권장


배열의 특성


- 생성된 배열은 0부터 순차적으로 증가하는 index값을 갖는다.

* 이 특성때문에 배열은 일반적으로 반복문과 함께 사용된다.

- 데이터의 접근은 index를 통해서 이루어진다.

* ex) 값을 읽기 : var a = data[0];

* ex) 값을 저장하기 : data[1] = 100;


배열의 길이


- 모든 배열은 그 자체가 하나의 객체가 된다.

- 배열 객체가 갖는 프로퍼티 중 length는 배열의 길이(칸 수)를 조회하는 기능을 갖는다.


var date = ['a', 'b', 'c'];

var count = data.length;


배열의 확장


- 배열은 항상 처음부터 데이터를 갖는 상태로 생성할 필요는 없다.

- 데이터가 저장되지 않은 상태의 빈 배열을 생성한 후, 순차적으로 index를 증가시키면서 값을 추가할 수 있다.


// 빈 배열 만들기


var data = [];


// 배열의 확장


data[0] = 100;

data[1] = 200;

data[2] = 300;

// 값이 저장되지 않은 3,4번째 위치는 undefined가 저장됨.

data[5] = 400;


2차 배열


하나의 배열에서 각 원소가 또 다른 배열로 구성된 경우


var data = new Array(

                new Array('a', 'b', 'c'),

                new Array('d', 'e', 'f')

            );


        // 혹은


var data = [['a', 'b', 'c'], ['d', 'e', 'f']];


- 배열의 데이터는 행, 열 형태로 구성된다.


행 : 1차 데이터

열 : 2차 데이터

ex) 위의 예시에서 data[1][2]는 f


- 2중 반복문으로 배열을 탐색할 경우 바깥의 반복문이 행을 처리하고 안쪽의 반복문이 열을 처리한다.



'Web 관련' 카테고리의 다른 글

Javascript+jQuery+Ajax 6일차  (0) 2019.01.31
Javascript+jQuery+Ajax 5일차  (0) 2019.01.30
Javascript 오답노트  (0) 2019.01.28
Javascript+jQuery+Ajax 3일차  (0) 2019.01.28
Javascript+jQuery+Ajax 2일차  (0) 2019.01.28

+ Recent posts