학습 노트:자바 script 대상 및 배열

대상:
    복합 데이터 형식 으로 여러 개의 데이터 값 을 한 단원 에 집중 시 키 고 이름 으로 접근 할 수 있 습 니 다.
생 성 대상:대상 의 직접 양-쉼표 로 구 분 된 한 쌍 의 속성 이름과 값 의 목록 을 사용 하여 괄호 에 포함 합 니 다.예 를 들 어:

var empty={};
var point={x:0,y:0};
var circle={x:point.x,y:point.y,radius:2};
var homer={"name":"Homer simpson","age":"34","married":true};
var book={};
book.title="javascript";
book.chapter1=new Object();
book.chapter1.title="introduction";
book.chapter1.pages=11;
book.chapter2={title:"Lexical strcture",pages:6};

대상 속성:
for(var prop in obj)를 통 해 대상 의 모든 속성 을 교체 할 수 있 습 니 다.
obj.prop 또는 obj[prop]를 통 해 대상 의 속성 에 접근 합 니 다.메모:[]의 표현 식 은 하나의 문자열 이 어야 합 니 다.속성 이 성명 할 때 이 속성 을 문자열 로 설명 하 든 말 든,예 를 들 어 var o={"x":1}과 var o={x:1}은 방문 할 때 o.x 또는 o[x]를 사용 해 야 합 니 다.o[x]와 o.'x'를 사용 해 서 는 안 됩 니 다.속성 접근 의 두 가지 방식:하나의 문자열,다른 하 나 는 문자열 이 없 음 을 명심 하 세 요!우 리 는 또한[]방문 대상 을 사용 하 는 속성 이 사용 하 는 것 보다 더욱 유연 하 다 는 것 을 발견 할 수 있 습 니 다.특히 방문 할 때 우 리 는 이름 을 모 르 는 속성 에 있 습 니 다.
속성의 존재 성 검사:

if("x" in o)o.x=1;//  o x     

또는:

if(x.o!=undefined)x.o=1;//o x      null undefined   

차이 점 은 x.o=undefined 또는 null 일 때 앞의 문 구 는 o.x 를 1 로 설정 하고 뒤의 문 구 는 아무것도 하지 않 는 다 는 것 이다.그래서 속성의 존재 성,null,undefined 를 구분 하 세 요.null 과 undefined 에서 구분 하려 면 사용 할 수 있 습 니 다!==연산 자.
일반적인 Object 속성 과 방법:
constructor 속성:JS 에 서 는 개체 마다 constructor 속성 이 있 습 니 다.이 대상 을 초기 화 하 는 구조 함 수 를 참조 합 니 다.

var d=new Date();
alert(d.constructor==Date);//true

우 리 는 constructor 속성 을 통 해 위치 유형 이 우리 가 필요 로 하 는 지 확인 할 수 있 습 니 다.

if((typeof d=="object") && d.constructor==Date)//
if((typeof d=="object") && d instanceof Date))
//        :object,       

toString()방법 과 toLocaleString()방법:클래스 를 정의 할 때 자신의 toString 방법 을 정의 하 는 것 이 좋 습 니 다.
hasOwnProperty(propName):대상 이 자신 이 정의 한 비 계승 속성 이 있 는 지 판단 하 는 데 사용 합 니 다.
isPrototypeOf():isPrototypeOf()방법 에 속 하 는 대상 이 매개 변수의 원형 대상 이 라면 이 방법 은 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.

var o={};
Object.prototype.isPrototype(o);//true
Function.prototype.isPrototype(Object);//true

배열:

var empty=[];
var misc=[1.1,true,"a"];
var b=[[1,{x:1,y:2}],[2,{x:3,y:4}]];
var count=[1,,3]//     :1,undefined,3
var undefs=[,,];//  :     ,  undefined
var a=new Array(10);
var c=new Array(5,4,3,"testing");

메모:배열 의 아래 표 지 는 0 에서 2~32-1 의 정수 여야 합 니 다.이 범위 내 통합 이 아니라면 해당 하 는 문자열 로 전환 하고 배열 대상 의 속성 으로 존재 합 니 다.예:

var a=[];
a[-1.23]=true;
alert(a.length);//0
alert(a["-1.23"]);//true

배열 요소 추가:
Javascript 은 요 소 를 진정 으로 저장 한 배열 요소 에 만 메모리 공간 을 할당 합 니 다.그리고 이 요소 들 의 아래 표 시 는 연속 적 이지 않 을 수 있 습 니 다.

var a = new Array(1000);
a[0]=1;
a[999]=999;

예 를 하나 더 보 자.

Circle c = new Circle(1,2,3);
c[0]="this is an array element of an object!";

사실 c 는 배열 대상 이 아니 라 대상 c 에 속성 을 추가 한 것 에 불과 합 니 다.이름 은 0 입 니 다.
배열 요소 삭제:
delete 는 배열 의 요 소 를 undefined 로 설정 하지만 요 소 는 존재 합 니 다.요 소 를 진정 으로 삭제 하려 면 Array.shift(),Array.pop(),Array.splice()를 사용 할 수 있 습 니 다.
차단 또는 증가 배열:length 속성 은 읽 을 수 있 을 뿐만 아니 라 쓸 수 있 습 니 다.우 리 는 이 속성 에 따라 배열 을 절단 하거나 늘 리 는 목적 을 달성 할 수 있다.
배열 방법:
[list]
  • join([separator]):모든 요 소 를 문자열(요 소 를 호출 하 는 toString()방법)로 변환 한 다음 에 연결 합 니 다.구분자 지정 가능..
  • reverse():원수 조 의 원 소 를 뒤 집 습 니 다
  • sort([function(){}]):원래 배열 을 정렬 합 니 다.기본 값 은 알파벳 순 으로 요 소 를 정렬 하고 전달 하 는 방법 으로 정렬 비교 방식 을 지정 할 수 있 습 니 다.이 함수 매개 변수의 반환 값 은 0,0 보다 크 거나 0 보다 작 아야 합 니 다
  • concat(args):배열 을 연결 하고 매개 변수 에 있 는 배열 이 배열 이 라면 전개 합 니 다.하지만 한 층 만 펼 쳐 서 는 재 귀적 으로 전개 할 수 없습니다.원 배열 이 변 하지 않 고 연 결 된 새 배열 로 돌아 가 는 것 을 주의 하 십시오
  • 
    var a=[1,2];
    alert(a.concat(3,[4,5]));//1,2,3,4,5
    alert(a.concat(4,[5,[6,7,[8,9]]]));//1,2,4,5,6,7,8,9
    
  • slice(start[,end]):배열 의 특정한 연속 부분 으로 돌아 가 start 를 포함 하고 end 요 소 를 포함 하지 않 습 니 다.start 만 있 으 면 start 에서 배열 의 끝 에 있 는 모든 요 소 를 되 돌려 줍 니 다.두 매개 변수 중 하나 가 마이너스 라면 배열 의 마지막 요소 에 비해 요 소 를 지정 합 니 다.slice 함 수 는 concat 와 마찬가지 로 원래 의 배열 을 바 꾸 지 않 고 새로운 배열 로 돌아 갑 니 다
  • 
    var a=[1,2,3,4,5];
    a.slice(0,3)//1,2,3
    a.slice(3);//4,5
    a.slice(1,-1);//2,3,4
    a.slice(-3,-2);//3
    

    4.567917.splice():배열 요 소 를 삽입 하고 삭제 하 는 일반적인 방법 으로 삽입,삭제 또는 삽입 과 삭제 작업 을 동시에 수행 할 수 있 습 니 다.삽입 되 거나 삭 제 된 요소 뒤에 있 는 배열 요 소 는 배열 의 나머지 요소 와 연속 성 을 유지 할 수 있 도록 필요 한 이동 을 합 니 다.splice 함수 의 첫 번 째 매개 변 수 는 삽입 하거나 삭제 할 요소 가 배열 에 있 는 위 치 를 지정 하고 두 번 째 매개 변 수 는 배열 에서 삭제 할 요소 의 개 수 를 만 들 었 습 니 다.두 번 째 인자 가 생략 되면 시작 요소 부터 배열 끝 에 있 는 모든 요 소 를 삭제 합 니 다.splice 는 원 소 를 삭제 한 후의 그룹 을 되 돌려 줍 니 다.원 소 를 삭제 하지 않 으 면 빈 그룹 을 되 돌려 줍 니 다.splice 의 앞의 두 매개 변 수 는 삭제 해 야 할 배열 요 소 를 지정 합 니 다.이 두 매개 변 수 는 다음 에 임의의 토고 추가 매개 변 수 를 지정 할 수 있 습 니 다.그들 은 첫 번 째 매개 변수 가 지정 한 위치 에 삽입 할 수 있 는 요 소 를 지정 합 니 다.메모:splice 는 배열 인 자 를 펼 치지 않 고 원 배열 에서 직접 조작 합 니 다.또한 요소 의 삽입 위 치 를 주의해 야 한다.예 를 들다.
    
    var a =[1,2,3,4,5,6,7,8];
    a.splice(4);//[1,2,3,4],returns [5,6,7,8]
    a.splice(1,2);//[1,4],returns [2,3]
    a.splice(1,1);//[1],returns[4]
    var b = [1,2,3,4,5];
    b.splice(2,0,'a','b');//b is [1,2,'a','b',3,4,5],returns []
    b.splice(2,2,[1,2],3);//b is [1,2,[1,2],3,3,4,5],returns ['a','b']
    
  • push()와 pop()방법:push 는 배열 의 끝 에 요 소 를 추가 하고 pop 은 배열 의 마지막 요 소 를 삭제 합 니 다.둘 다 원 배열 에서 직접 조작 하 는 거 야
  • unshift()와 shift():unshift 는 배열 의 머리 에 요 소 를 추가 하고 shift 는 배열 의 첫 번 째 요 소 를 삭제 합 니 다
  • [/list]
    오..해방 이다!놀 러 가자..

    좋은 웹페이지 즐겨찾기