>  기사  >  웹 프론트엔드  >  js 프로그래밍의 참조 유형 소개

js 프로그래밍의 참조 유형 소개

零下一度
零下一度원래의
2017-07-17 16:18:071379검색

참조 유형

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.