// オブジェクト myObject と 3 つのプロパティ sitename、siteurl、sitecontent を作成します。 var myOb"/> // オブジェクト myObject と 3 つのプロパティ sitename、siteurl、sitecontent を作成します。 var myOb">

ホームページ  >  記事  >  ウェブフロントエンド  >  すべてのオブジェクトのプロパティと値を走査するための Ajax リフレクション メカニズムとコードの詳細な説明

すべてのオブジェクトのプロパティと値を走査するための Ajax リフレクション メカニズムとコードの詳細な説明

伊谢尔伦
伊谢尔伦オリジナル
2017-07-21 13:33:571279ブラウズ

for...in ループの Javascript の例:

<html>
<head>
<title>一个使用到for...in循环的Javascript示例</title>
</head>
<body>
<script type="text/javascript">
// 创建一个对象 myObject 以及三个属性 sitename, siteurl, sitecontent。
var myObject = new Object();
myObject.sitename = "布啦布啦";
myObject.siteurl = "blabla.cn";
myObject.sitecontent = "网页教程代码图库的中文站点";
//遍历对象的所有属性
for (prop in myObject)
{
document.write("属性 &#39;" + prop + "&#39; 为 " + myObject[prop]);
document.write("<br>");
}
</script>
</body>
</html>
/*
* 用来遍历指定对象所有的属性名称和值
* obj 需要遍历的对象
* author: 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){
//语句
}

Ajax プログラミングでは、インターフェイス要素のスタイルを動的に変更する必要があることがよくあります。たとえば、オブジェクトの style 属性を変更するには、次のように記述します:

element.style.backgroundColor="#ff0000";

基本的に、CSS のすべてのプロパティは JavaScript で使用できます:

function setStyle(_style){
//得到要改变样式的界面对象
var element=getElement();
element.style=_style;
}

style オブジェクト全体を直接渡します。パラメータとして:

var style={
color:#ffffff,
backgroundColor:#ff0000,
borderWidth:2px
}

この時点で、次のように関数を呼び出すことができます:
setStyle(style);

または次のように直接書くことができます:

setStyle({ color:#ffffff,backgroundColor:#ff0000,borderWidth:2px});

このコードには問題がないように見えますが、実際にはパラメータ _style は、要素が元々実行されている場合、setStyle 関数内の element.style に値を割り当てるために使用されます。たとえば、次のように実行されます:
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 の対応する属性を _ に割り当てます。スタイル内の対応する属性の


以上がすべてのオブジェクトのプロパティと値を走査するための Ajax リフレクション メカニズムとコードの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。