함수 정의의 또 다른 방법
함수는 변수와 동급이다. 즉, 변수에 함수가 대입될 수 있다.
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 |