학습 노트:자바 script 대상 및 배열
6102 단어 JavaScripthtmlC++cprototype
복합 데이터 형식 으로 여러 개의 데이터 값 을 한 단원 에 집중 시 키 고 이름 으로 접근 할 수 있 습 니 다.
생 성 대상:대상 의 직접 양-쉼표 로 구 분 된 한 쌍 의 속성 이름과 값 의 목록 을 사용 하여 괄호 에 포함 합 니 다.예 를 들 어:
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]
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
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']
오..해방 이다!놀 러 가자..
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.