-1

変数が呼び出されるたびに、変数内の整数をインクリメントするにはどうすればよいですか? Javascript。

var a=0;

var t=loadXMLDoc("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist="+x[a].getElementsByTagName("name")[0].childNodes[0].nodeValue+"&api_key=83e386b0ba08735e3dee9b118478e56d&lang=en").getElementsByTagName("bio");

for (i=0;i<20;i++)
{
document.write("<div><button type='button' onclick='document.getElementById("+i+").innerHTML=t[0].getElementsByTagName(\"summary\")[0].childNodes[1].nodeValue;'>Open Bio</button></div>");
}

変数 a をインクリメントする方法がわかりません。変数 t が for ループで呼び出されるたびに 1 ずつ増やす必要があります。

すべてのコードを for ループに入れると、[オブジェクト ノード リスト] が返されるため、このメソッドは望ましくありません。

4

2 に答える 2

2

あなたの質問を正しく理解していれば、プロパティに独自のゲッターとセッターを定義できます。

var o = {}
o.__defineSetter__('property', function(value) { this._counter = 0; this._holder = value; })
o.__defineGetter__('property', function() { console.log(this._counter++); return this._holder; })

o.property に値が割り当てられるたびにカウンターがリセットされます

o.property = 'Some value'

プロパティにアクセスするたびに増加します。そう、

console.log(o.property)

印刷します

0
Some value

コンソールに。もう一度実行すると、印刷されます

1
Some value
于 2013-03-28T16:05:51.877 に答える