>  기사  >  웹 프론트엔드  >  object_javascript 기술로 색인화된 js 연관 배열

object_javascript 기술로 색인화된 js 연관 배열

WBOY
WBOY원래의
2016-05-16 18:23:52987검색

JSON 객체에 대해서는 위키피디아(http://zh.wikipedia.org/zh-cn/JSON) 및 공식 홈페이지(http://www.json.org/를 참고하세요. json-zh.html).

우리는 종종 JavaScript가 기본적으로 json을 지원한다고 말합니다. json을 JavaScript Object 개체의 유연한 응용 프로그램으로 생각할 수 있기 때문입니다.

일반적으로 프론트엔드와 백엔드 데이터 교환 형식으로 주로 사용되는 json을 사용합니다.

코드 로직에서는 연관 배열이 더 일반적으로 사용됩니다. 그러나 그럼에도 불구하고 객체 유형을 키-값 쌍의 키로 사용하는 경우는 거의 없습니다.

 var a= {}, b= [];

 a[b] = new Date(); //시간 값은 a[b]를 통해 얻을 수 있습니다.

 키 이름 유형은 객체일 수 있습니다. 정말 멋진 일입니다!

하지만 문제가 있습니다. 이런 방식으로 사용하려면 조건이 있습니다. 즉, 데이터를 동적으로 추가해야 합니다. (현재는 반 친구들과 함께 있어서 다른 브라우저를 테스트할 조건이 없습니다. 현재는 IE8과 소고우 브라우저의 IE 커널, weikit 커널을 테스트해봤습니다.)

테스트 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"}
a[d] = "DOMElement"
alert( a[obj]); //정의되지 않음
alert(a[d]); //DOMElement
alert(a[document.getElementById("hello")]) //DOMElement
a[obj ] = "Array Object" ;
alert(a[obj]); //Array Object


사실 키 이름은 모두 문자열입니다.
코드 복사 코드는 다음과 같습니다.

var d = document.getElementById("hello"), obj = [ 1,2,3], a = {obj :"test"};
alert(a["obj"]); //테스트

var str = new String("1,2, 3");
a[obj] = "배열 개체";
alert(a[obj]); //배열 개체
alert(a[str]); //배열 개체

var Class1 = function(_val){
var val = _val;
this.toString = function(){
return val;
}
}

var obj2 = new Class1("1,2, 3");
alert(a[obj2]);//배열 객체
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.