我想:如何對象的JavaScript數組的實例化過程中引用屬性
- 實例化一個JavaScript對象數組,其中對象的屬性指的是物體本身的其他屬性,然後
- 使用該數組用於配置一組按鈕的點擊事件。
問題(請參見片段上方):
- mymessage和myvalue的參數是未定義的時anotherfunction()被調用
- 被點擊
myclass*
類的一個按鈕,當x [I] .myaction( );在按鈕被點擊的時間是不確定的,因爲,我求2
var x = [{
mymessage: "this is message1",
myclass: "myclass1",
myvalue: 10,
myaction: function() {
var res = anotherfunction(mymessage, myvalue);
//do something with res
}
}, {
mymessage: "this is message2",
myclass: "myclass2",
myvalue: 20,
myaction: function() {
res = anotherfunction(mymessage, myvalue);
//do something else with res
}
}];
function anotherfunction(m, v) {
alert(m);
return v;
}
for (var i = 0, len = x.length; i < len; i++) {
$('.' + x[i].myclass).click(function() {
alert(i);
x[i].myaction();
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myclass1">Click me1</div>
<div class="myclass2">Click me2</div>
按照這一問題的修改版本。您可以在for循環內的IIFE的幫助下,在閉包下取出'i'。 – Redu
我明白你在說什麼,但不幸的是,我沒有如此實際的JavaScript在上述情況下有效地使用這種模式:-(請問你能給我一個例子嗎? –
編輯後它是一個重複的[ - 簡單的實踐例子](http://stackoverflow.com/q/750486/1529630) – Oriol