참조 유형
JS의 변수에는 기본 유형 값과 참조 유형 값이라는 두 가지 데이터 유형 값이 있습니다. 기본 유형은 null, undefound, Boolean, string, number 이며, 참조 유형의 값은 객체에 대한 참조, 즉 객체에 대한 포인터입니다.
참조 유형은 데이터 구조(다른 언어에서는 클래스라고 합니다. js에서는 이전에 클래스 개념이 없었지만 es6(구문 설탕)에 있습니다.) 구체화되면 객체가 됩니다. 객체를 참조 유형의 인스턴스 또는 값이라고 합니다. (객체는 키-값 쌍의 조합입니다.)
디렉토리에서 JavaScript의 참조 유형은 객체 유형, 배열 유형, 데이터 유형, RegExp 유형, 함수 유형, 기본 내장 유형 및 단일 내장형 . 아래에서는 여기서 지식 포인트를 정리하겠습니다.
①참조 유형은 데이터와 함수를 함께 구성하는 데 사용되는 데이터 구조입니다. 그러나 JavaScript는 클래스와 인터페이스의 기본 구조를 지원하지 않으므로 객체 정의라고 합니다.
②오브젝트(Object)가 가장 많이 사용되는 유형입니다. 객체를 생성하는 방법에는 두 가지가 있습니다.
첫 번째는 new 연산자를 사용합니다:
1 var person = new Object();2 person.name = "xuchaoi";3 person.age = 24;
두 번째는 객체 리터럴 표기법을 사용합니다:
1 var person = {2 name: "xuchaoi",3 age: "24"4 } // 访问对象的值:person.name
3배열 생성은 객체 생성과 유사합니다. 새로운 연산자 또는 배열 리터럴 표현을 통해 생성할 수 있습니다
4 배열은 Array.isArray() 메서드를 통해 감지할 수 있습니다. typeof()는 배열, 객체 또는 Null 유형을 감지하고 "객체"를 반환하기 때문에
⑤ 배열을 문자열 메서드로 분할합니다: Join()
1 var name = ["小明", "小红", "小青"];2 consol.log(name.join("&")); // 小明&小红&小青
⑥Array는 데이터 구조 스택을 시뮬레이션합니다. push()는 배열의 끝에 값을 추가하고, pop()은 배열의 끝에서 항목을 제거합니다. 따라서 후입선출 스택 구조
7 배열 시뮬레이션 데이터 구조 쌍이 구현됩니다. push()는 배열의 끝에 값을 추가하고, Shift()는 배열의 첫 번째 항목을 제거합니다. 따라서 선입선출 쌍 구조를 실현합니다
8unshift()는 Shift()의 반대입니다. 배열의 첫 번째 항목에 값을 추가합니다
9배열 역순 방법: reverse(). 이 메서드는 배열 항목의 순서를 반대로 바꿉니다.
⑩배열 정렬 방법: sort(). 기본적으로 먼저 배열의 각 항목에 대해 toString() 변환을 수행한 다음 배열 항목을 오름차순으로 정렬합니다
1 var values = [0, 1, 5, 10, 15];2 console.log(value.sort()); //0,1,10,15,5
이 결과는 분명히 여기서 sort() 메서드가 허용하는 결과가 아닙니다. 비교 함수를 매개변수로 사용하여 순서를 제어할 수 있습니다. 비교 함수에는 이전 값과 다음 값이라는 두 개의 매개변수가 있습니다. 첫 번째 값이 두 번째 값 뒤에 오면 양수가 반환되고, 그렇지 않으면 0을 반환하는 순서에 관계없이 음수가 반환됩니다.
function compare(value, nextValue) {if(value < nextValue) {return -1; } else if(value > nextValue) {return 1; } else{return 0; } }var values = [1, 0, 10, 5, 15]; console.log(values.sort(compare)); //0,1,5,10,15
⑪배열 연결: concat(), 매개변수 허용: 문자열, 배열
⑫배열 가로채기(원래 배열을 변경하지 않고 새 배열 생성) 메서드: 슬라이스(). 두 개의 매개변수를 받습니다: 시작 값, 끝 값(생략 가능).
1 var colors = ["红色", "黄色", "绿色", "蓝色"];2 var colors1 = colors.slice(1); //截取从起始值到结束(数值都是从0计数)3 var colors2 = colors.slice(1,3) //截取从起始值到结束值(不包括结束值)4 console.log(colors1); //["黄色", "绿色", "蓝色"] 5 console.log(colors2); //["黄色", "绿色"]
⑬배열 작동 방법: splice(). 이 메소드는 배열에서 항목을 삭제하고, 배열에 항목을 삽입하고, 배열의 항목을 바꿀 수 있습니다(즉, 배열 항목을 삭제하고 해당 위치에 항목을 추가합니다)
⑭ 배열 항목의 위치 메서드: indexOf(). 배열의 첫 번째 항목부터 거꾸로 설정한 값을 검색하고, 발견되면 배열에 있는 값의 위치 인덱스를 반환합니다. 이는 배열의 중복
1 //原理说明:利用indexOf只会返回数组中元素首次出现的位置与filter内函数index值的不等进行筛选2 var arry = [1,2,3,4,1,2,3]; 3 var newArray = arry.filter(function(element,index,self) {4 return self.indexOf(element) === index;5 }); //说明:filter()会遍历数组,过滤数组不符合要求的元素6 console.log(newArray); //[1,2,3,4]
⑮배열 순회 맵()을 확인하는 데 사용할 수 있습니다.
1 var numbers = [1, 2, 3, 4, 5]; 2 var numbers2 = numbers.map(function(item, index, array){3 return item * 2;4 }); 5 console.log(numbers2); [2,4,6,8,10]
⑯배열 순회 forEach()
1 var numbers = [1, 2, 3, 4, 5]; 2 numbers.forEach(function(item, index, array){3 array[index] = item * 2;4 });5 console.log(numbers); // [2,4,6,8,10]
⑰배열 누적 반복 방법 Reduce()
1 var numbers = [1, 2, 3, 4, 5]; 2 var sum = numbers.reduce(function(prev, cur, index, array) {3 return prev + cur;4 }); //reduce迭代函数接受4个参数:前一个值,当前值,项的索引,数组对象5 console.log(sum); 15
먼저 배열에 대해 이야기하고, 다음 섹션에서는 참조에서 주목해야 할 핵심 사항에 대해 계속 이야기하겠습니다. 유형 장!
위 내용은 js 프로그래밍의 참조 유형 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!