1. 배열 이해
배열은 특정 유형의 데이터 모음입니다. 데이터 유형은 정수, 문자열 또는 객체일 수 있습니다.
Javascript는 다차원 배열을 지원하지 않지만 배열은 객체를 포함할 수 있으므로(배열도 객체임) 배열은 서로 중첩되어 다차원 배열과 유사한 기능을 수행할 수 있습니다.
1.1 배열 정의
10개의 요소가 있는 배열을 선언합니다.
var a = 새로운 배열(10);
이때, 10개의 요소를 포함하는 a에 대한 메모리 공간이 열렸습니다. 배열 이름과 [subscript]를 사용하여 호출합니다(예: a[2]). 그러나 요소는 현재 초기화되지 않았습니다. 호출은 정의되지 않은 상태로 반환됩니다.
다음 코드는 변수 배열을 정의하고 값을 할당합니다.
var a = 새로운 배열();
a[0] = 10;
a[1] = "아아아";
a[2] = 12.6;
위에서 언급했듯이 객체는 다음 코드와 같이 배열에 배치될 수 있습니다.
var a = 새로운 배열();
a[0] = 참;
a[1] = document.getElementById("text");
a[2] = {x:11, y:22};
a[3] = 새로운 배열();
배열은 인스턴스화될 때 직접 값을 할당받을 수 있습니다. 예를 들어
var a = 새로운 배열(1, 2, 3, 4, 5);
var b = [1, 2, 3, 4, 5];
a와 b는 모두 배열이지만, b는 또 다른 인스턴스를 생성하기 위해 암시적 선언을 사용합니다. 이때, Alert(a==b)를 사용하면 false가 뜹니다.
1.2 다차원 배열
실제로 Javascript는 다차원 배열을 지원하지 않습니다. Javascript에서 var a = new Array(10,3)를 사용하면 im a(10,3)을 사용할 수 있습니다. 오류가 보고됩니다. 그러나 앞서 언급한 것처럼 배열에는 개체가 포함될 수 있으므로 배열의 요소를 배열로 선언할 수 있습니다.
var a = 새로운 배열();
a[0] = 새로운 배열();
a[0][0] = 1;
Alert(a[0][0]); //팝업 1
선언할 때 값을 할당하세요.
var a = new Array([1,2,3], [4,5,6], [7,8,9]);
var b = [[1,2,3], [4,5,6], [7,8,9]];
효과는 동일하며 a는 일반 인스턴스화를 사용하고 b는 암시적 선언이며 결과는 다차원 배열입니다.
1.3 배열 리터럴
이걸 중국어로 텍스트 배열이라고 부르는지 정말 모르겠습니다.
배열에 대해 이야기하자면 배열 리터럴은 실제로 특별한 개체입니다. 개체에는 고유한 속성과 메서드가 있습니다. 값과 호출은 개체 이름.property 및 object.method()를 통해 가져옵니다. 값, 배열 리터럴은 둘 다 특정 데이터 유형의 컬렉션입니다. 그러나 배열 리터럴은 기본적으로 객체이며 해당 선언과 호출은 배열과 다릅니다.
var aa = 새로운 객체();
aa.x = "고양이";
aa.y = "맑음";
Alert(aa.x); //고양이 팝업
간단한 객체를 생성합니다. 일반적으로 호출은 aa.x를 통해 이루어집니다. 배열 리터럴로 사용되는 경우에는 경고(aa["x"])도 나타납니다.
var a = {x:"cat", y:"sunny"};
Alert(a["y"]); //햇빛 팝업
객체를 생성하는 또 다른 방법이 있습니다. 결과는 동일합니다.