실제 효과를 보려면 먼저 일부 속성과 메서드를 선언하면 됩니다. 그렇지 않으면 아래에서 예제를 주의 깊게 볼 수 없습니다.
function ShowObjProperty(Obj)
{
var PropertyList='';
var PropertyCount=0;
for(i in Obj){
if(Obj.i !=null)
PropertyList=PropertyList i '속성:' Obj.i 'rn'
else
PropertyList=PropertyList i
}
alert(PropertyList)
}
>
오늘 Java Tang 온라인 A 사용자를 찾았습니다. 메소드를 사용하면 JavaScript 객체의 모든 속성 이름과 값을 순회할 수 있어 매우 직관적이고 편리합니다. 코드는 다음과 같습니다.
/*
*는 순회하는 데 사용됩니다. 개체의 모든 속성 이름과 값을 지정합니다.
* obj 순회할 개체
* 작성자: Jet Mah
*/
function allPrpos( obj ) {
// 모든 속성 이름과 값을 저장하는 데 사용됩니다.
var props = "" ;
// 탐색 시작
for ( var p in obj ){
// 방법
if ( typeof ( obj [ p ]) == " function " ){
obj [ p ]() ;
} else {
// p는 속성 이름이고, obj[p]는 값입니다. 해당 속성
props = p " = " obj [ p ] " t " ;
}
}
// 마지막으로 모든 속성 표시
alert ( props )
}
AJAX JavaScript 리플렉션 메커니즘, 리플렉션 메커니즘은 프로그램이 실행되는 동안 자체 정보를 얻는 기능을 말합니다. 예를 들어, 객체는 런타임 시 자신이 가지고 있는 메서드와 속성을 알 수 있습니다. JavaScript에서 리플렉션을 구현하려면 for(…in…) 문을 사용하세요. 구문은 다음과 같습니다.
for(var p in obj){
//Statement
}
in Ajax 프로그래밍에서는 인터페이스 요소의 스타일을 동적으로 변경해야 하는 경우가 많습니다. 이는 객체의 스타일 속성을 통해 변경할 수 있습니다. 예를 들어 배경색을 빨간색으로 변경하려면 다음과 같이 작성하면 됩니다. :
element.style.BackgroundColor="#ff0000";
기본적으로 CSS의 모든 속성은 JavaScript에서 사용할 수 있습니다.
function setStyle(_style){
//스타일을 변경하기 위한 인터페이스 객체 가져오기
var element=getElement( );
element.style=_style;
}
전체 스타일 객체를 매개변수로 직접 전달:
var style={
color:#ffffff,
backgroundColor:#ff0000,
borderWidth :2px
}
이 작업은 지금 수행할 수 있습니다.
setStyle(style);
함수를 호출하거나 직접 작성합니다.
setStyle( { color:#ffffff, backgroundColor:#ff0000,borderWidth:2px});
이 코드는 별 문제가 없어 보이지만 실제로는 _style 매개변수를 사용하여 요소에 값을 할당할 때 발생합니다. setStyle 함수 내의 스타일, 예를 들어 요소에 특정 스타일이 있는 경우
element.style.height="20px"
그러나 _style에는 정의가 포함되지 않습니다. 높이 때문에 요소의 높이 스타일이 손실되며 이는 원래 원하는 결과가 아닙니다. 이 문제를 해결하려면 리플렉션 메커니즘을 사용하여 setStyle 함수를 다시 작성할 수 있습니다.
function setStyle(_style){
//스타일을 변경하기 위한 인터페이스 객체 가져오기
var element=getElement()
for(var p in _style){
element.style[p ]=_style[p]
}
}
프로그램은 _style의 각 속성을 순회하여 속성 이름을 얻은 다음 대괄호 구문을 사용하여 element.style의 해당 속성을 _style의 해당 속성 값에 할당합니다. 따라서 요소에서 지정된 스타일만 변경되고 다른 스타일은 변경되지 않아 원하는 결과를 얻습니다. ^-^