[매일 3 장 씩 배우 고 일주일 에 js 파악] 제5 장: 인용 유형

6220 단어
참조 형식 에 대한 정의:
인용 형식의 값 (대상) 은 인용 형식의 인 스 턴 스 입 니 다.
ECMAScript 에서 인용 형식 은 데이터 구조 로 데이터 와 기능 을 한데 묶 는 데 사용 된다.그것 도 통상 적 으로 [클래스] 라 고 불리 지만 js 에서 클래스 라 는 호칭 은 그다지 타당 하지 않다.
비록 기술적 인 측면 에서 볼 때 js 는 표면적 인 대상 을 대상 으로 하 는 언어 이지 만 엄격 한 의미 에서 볼 때 js 는 대상 을 대상 으로 하 는 언어 가 지원 하 는 유형, 인터페이스, 계승 등 기본 적 인 속성 을 가지 지 못 한다.
인용 유형 도 [대상 정의] 라 고 불 린 다. 왜냐하면 그들 은 대상 이 가지 고 있 는 속성 과 방법 을 묘사 하기 때문이다.
1 절: Object 형식
Object 는 js 에서 가장 많이 사용 되 는 유형 이 라 고 할 수 있 습 니 다. 비록 Object 의 인 스 턴 스 는 기능 이 별로 없 지만 프로그램 에 데 이 터 를 저장 하고 전송 하 는 데 매우 이상 적 인 선택 입 니 다.
개체 만 들 기:
(1) new 연산 자 를 통 해 생 성:
var Obj=new Object();
Obj.a="a";
Obj.b=function (){
    //.........
}

(2) 대상 의 글자 크기 를 사용 하여 만 듭 니 다. 이런 방식 은 패 키 징 된 느낌 이 있 고 대량의 매개 변 수 를 전송 하 는 데 적 용 됩 니 다.
var Obj={
   a:"a",
   b: function(){
      //............
   }
}

(3) 생 성 시 괄호 (곶) 가 비어 있 으 면 기본 속성 과 방법 만 포함 하 는 대상 을 정의 할 수 있 습 니 다.
var Obj = {};
Obj.a = "a";
//......

메모: 글자 의 양 을 통 해 대상 을 정의 할 때 Object 구조 함수 (fireforx 제외) 를 호출 하지 않 습 니 다.
대상 속성 에 접근 하 는 2 가지 방법:
(1). 연산 자 를 통 해 접근: Obj.a; (2) [] 를 통 해 접근: Obj [a];
 상기 두 가지 방식 은 아무런 차이 가 없 지만 [] 를 통 해 방문 하 는 장점 은 변 수 를 사용 할 수 있다 는 것 이다. 예 를 들 어:
var Obj={
   a:"a",
   b:"b",
}
var c="a";
alert( Obj[c] ) // a

 
2 절: Array 형식
1. 구조 함수 로 Array 대상 만 들 기
(1) Array 구조 함수 사용: var a = new Array ();
(2) 배열 의 항목 수 를 미리 알 면 var a = new Array (20);다만 이 20 개의 값 은 모두 Undefined 입 니 다.
(3) 생 성 할 항목 을 구조 함수 에 직접 전달 할 수 있 습 니 다. var a = new Array ("red", "blue");
(4) 구조 함수 에 직접 수 치 를 전달 하면 수치 수량의 빈 항목 을 만 듭 니 다: var a = new Array (3)
(5) 배열 을 만 들 때 new 연산 자 를 생략 할 수 있 습 니 다. var a = Array ("red", "blue");
2. 글자 크기 로 Array 대상 만 들 기
var a=["red","blue","black"];// ok
var b=[]; //        
var d=["red","blue",] //    ,         ,     2  3 
var d=[,,,,,] //    ,         ,     5  6 

3. 배열 의 length 속성
배열 의 length 속성 은 읽 기 전용 이 아니 므 로 length 설정 을 통 해 배열 의 끝 에서 항목 을 추가 하거나 제거 할 수 있 습 니 다.
var a=["red","blue","black"];
a.length=2; //        
alert(a[2])// undefined;

var b=["red","blue","black"];
b.length=4; //           ,      
blert(a[4])// undefined;

var c=["red","blue","black"];
c[c.length]="orange"; //            ,   orange
c[10]="white"; //     10    ,    white,  4-9     ,     undefined

4. 전환 방법
모든 대상 은 toString (), toLocaleString (), valueOf () 방법 을 가지 고 있 습 니 다.
그 중에서 배열 의 toString () 과 value Of () 방법 을 호출 하여 같은 값 을 되 돌려 줍 니 다. 이것 은 배경 에서 배열 의 모든 항목 의 toString () 방법 을 호출 하여 최종 문자열 을 연결 합 니 다.
var a=["red","blue","black"];
alert(a.toString())//   :red,blue,black;
alert(a.valueOf())//   :red,blue,black;

join 방법: 배열 의 toString () 등 방법 은 출력 할 때 기본적으로 사용 하고 분할 합 니 다. join 을 이용 하여 분할 자 를 지정 할 수 있 습 니 다.
var a=["red","blue","green"];
alert(a.join("/")); //   red/blue/green

5. 스 택 방법 과 대기 열 방법
(1)push()  임의의 수량의 인 자 를 받 아 배열 의 끝 에 추가 하고 새 배열 의 길 이 를 되 돌려 줍 니 다.
(2)pop()  배열 의 끝 에서 항목 을 제거 하고 이 항목 을 되 돌려 줍 니 다. push () 와 함께 스 택 작업 을 모 의 할 수 있 습 니 다.
(3)shift()  배열 의 첫 번 째 항목 을 제거 하고 이 항목 을 되 돌려 줍 니 다. push () 와 함께 대기 열 작업 을 모 의 할 수 있 습 니 다.
(4) unshift () 는 임의의 수량 인 자 를 받 아 배열 전단 에 항목 을 추가 하고 새 배열 의 길 이 를 되 돌려 줍 니 다.
6. 다시 정렬 하 는 방법
(1)reverse()  반전 배열 항목 의 순서
(2)sort()  기본적으로 오름차 순 으로 배열 한 배열 항목, 즉 가장 작은 것 이 맨 앞 에 있 습 니 다. 정렬 을 위해 sort () 는 각 항목 의 toString () 방법 을 문자열 로 바 꾸 고 비교 한 문자열 로 정렬 이 확정 되 었 습 니 다.
// reverse()
var a=[1,2,3,4,5];
var b=a.reverse();
alert(b); // 5,4,3,2,1

// sort()
var a=[0,1,5,10,15]
var b=a.sort();
alert(b) // 0,1,10,15,5

이 를 통 해 알 수 있 듯 이 sort () 의 기본 정렬 은 스마트 하지 않 습 니 다. 다행히 sort () 는 비교 함 수 를 매개 변수 로 받 아들 여 사용자 정의 정렬 을 실현 할 수 있 습 니 다.
function compare(x,y){
   if(x<y){//              ,   -1;
       return -1;   
   }else if(x>y){//              ,   1;
       return 1;
   }else{//        0;
       return 0;
   }
   //                   return y-x;
}//        ,      

var a=[0,1,5,10,15];
a.sort(compare);
alert(a);//

reverse () 와 sort () 는 수 정 된 배열 을 되 돌려 줍 니 다.
7. 조작 방법
(1)concat()  현재 배열 을 기반 으로 새 배열 을 만 듭 니 다. 받 은 수치 나 배열 의 모든 항목 을 새 배열 에 추가 합 니 다.
var a=["red","blue"];
var b=a.concat("green","black");
alert(b) // red,blue,green,black

var c=a.concat(["green","black"])//        
alert(c) // red,blue,green,black

(2)slice()   현재 배열 을 기반 으로 새 배열 을 만 들 수 있 습 니 다. 1 개 또는 2 개의 인 자 를 받 을 수 있 습 니 다. 즉, 돌아 올 항목 의 시작 과 끝 위치 입 니 다.
var a=["red","blue","green","black"];
var b=a.slice(0,2);
alert(b); // red,blue,green

var c=a.slice(2);
alert(c); // green,black

slice () 매개 변수 에 마이너스 가 있 으 면 배열 의 길이 와 마이너스 로 위 치 를 확인 하고 시작 위치 가 끝 위치 보다 크 면 빈 배열 로 돌아 갑 니 다.
음수 라면 배열 의 끝 에서 찾기 시작 하고 시작 위치 가 끝 위치 가 되 어 전체 가 뒤 바 뀌 었 다 고 이해 할 수 있다.
(3)splice()  가장 강력 한 배열 작업 방법 이 라 고 할 수 있 습 니 다. 주요 역할 은 배열 중부 에 항목 을 삽입 하 는 것 입 니 다.사용 방법 은 세 가지 가 있다.
  삭제 - 임의의 항목 을 삭제 할 수 있 습 니 다. 두 개의 인자 만 지정 하면 됩 니 다. 삭제 할 첫 번 째 위치 와 삭제 할 항목 수 입 니 다.
  삽입 - 지정 한 위치 에 임의의 수량의 항목 을 삽입 합 니 다. 최소 3 개의 인 자 를 제공 합 니 다. 시작 위치, 0 (삭제 할 항목 은 0 즉 삽입 작업), 삽입 할 항목 (여러 개)
  교체 - 지정 한 위치 에서 임의의 항목 을 삭제 하고 임의의 항목 을 삽입 합 니 다. 삭제 와 삽입 은 같 지 않 습 니 다.최소 3 개의 매개 변 수 를 지정 합 니 다: 시작 위치, 삭제 할 항목 수, 삽입 할 항목.
var a=["red","blue","green","black"];
var b=a.splice(0,1);
var c=a.splice(1,0,"white","orange");
var d=a.splice(2,2,"white","orange")

alert(b); //        blue,green,black
alert(c); //   2  red,blue,white,orange,green,black
alert(d); //   2  red,blue,green,white,orange

splice () 는 삭 제 된 항목 을 포함 하여 항상 하나의 배열 로 돌아 갑 니 다. 삭 제 된 항목 이 없 으 면 빈 배열 로 돌아 갑 니 다.
제 3 절: Date 형식
 
12

좋은 웹페이지 즐겨찾기