私はインデックスに応じて呼び出すことができるように、関数の配列を作成しようとしています。 set関数が機能しません。 setF1とsetF2関数はそうです。 このように動作させるための設計上の決定は何ですか?なぜ、この配列のjavascript関数を使用しないのですか?
あなたは、私がここにテストコードを貼り付けるように見えることはできませんjrootham.tjddev.net/test/test.html
でテストページを見つけることができます。
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var thing =
{
f1 : function() {alert(1);},
f2 : function() {alert(2);},
setF1 : function() {this.call = this.f1;},
setF2 : function() {this.call = this.f2;},
list : [this.f1, this.f2],
set: function(index){this.call=this.list[index];},
call : this.f1
}
</script>
</head>
<body>
<button type="button" onClick="thing.set(0)">Set 0</button>
<button type="button" onClick="thing.set(1)">Set 1</button>
<button type="button" onClick="thing.setF1()">Set F1</button>
<button type="button" onClick="thing.setF2()">Set F2</button>
<button type="button" onClick="thing.call()">Call</button>
</body>
</html>
'{}' 'object'作成します。 '[]'は '配列'を作成します。両者には大きな違いがあります。 – zzzzBov