대상 : JS의 속성 이름은 변수와 함께 사용할 수 있습니다.
예 : JS Object Object, 객체에 속성을 할당 할 때 다음 방법을 사용할 수 있습니다.
코드 사본은 다음과 같습니다.
var 객체;
object.prop1 = "value1";
object.prop2 = "value2";
다음 방법도 사용할 수 있습니다.
코드 사본은 다음과 같습니다.
object.push ({prop1 : "value1"});
object.push ({prop2 : "value2"});
여기서 Prop1은 속성 이름으로 사용하거나 인용문을 추가 할 수 있습니다.
코드 사본은 다음과 같습니다.
object.push ({ "<span style ="font-family : arial, helvetica, sans-serif; "> prop1 </span>": "value1"});
표현의 의미는 동일합니다.
코드 사본은 다음과 같습니다.
var prop1 = "prop2";
object.push ({prop1 : "<span style ="font-family : arial, helvetica, sans-serif; "> value1 </span>"});
이와 같은 객체를 통해 Prop2에 액세스하면 어떻게됩니까? 예를 들어:
코드 사본은 다음과 같습니다.
alert (<span style = "font-family : arial, helvetica, sans-serif;"> object.prop2) </span>
물론 묻지 않아도 정의되지 않지만 객체에 액세스하는 것은 "value1"입니다.
그 이유가 언급되었습니다. 견적 마크가 추가되는지 여부에 관계없이 속성은 상수로 처리됩니다. 또 다른 예를 드리겠습니다.
코드 사본은 다음과 같습니다.
var arr = [];
arr [ 'js'] = 'jquery';
ARR [ 'CSS'] = 'OOCSS';
var obj = {};
for (var i in arr)
{
obj.i = arr [i];
}
경고 (obj.js);
독자들은 어떤 경고가 인쇄 될지 궁금해합니까?
물론 그것은 정의되지 않았습니다.
다시 추측하십시오. Alert (OBJ.I)이면 무엇이 인쇄됩니까?
물론 그것은 OOCSS입니다. 왜? OBJ는 이제 하나의 속성 I 만 가지고 있기 때문에 두 개의 루프를 통해 OBJ.i의 전면이 뒤쪽으로 덮어 씁니다.
요구 사항이있는 경우 속성을 동적으로 추가해야합니다. 즉, 속성은 변수 여야합니다. 위의 예제에서와 같이 Alert (OBJ.JS)는 정의되지 않은 것이 아니라 jQuery입니다. 수정하는 방법?
코드 사본은 다음과 같습니다.
var arr = [];
arr [ 'js'] = 'jquery';
ARR [ 'CSS'] = 'OOCSS';
var obj = {};
for (var i in arr)
{
obj [i] = arr [i];
}
경고 (obj.js);
그렇게 간단합니다! Object OBJ를 배열로 취급하면 위시와 유사한 메소드를 사용하여 객체에 속성 및 속성 값을 할당하는 지원을 지원합니다. 그러나 객체는 여전히 객체이며 obj.length는 존재하지 않습니다.