2

私は教授から、乱数を使用して簡単な数学の問題とその答えを 2 次元の表に表示する簡単な Javascript プログラムを作成するように依頼されました。以前、彼は次のように関数を使用してテーブルに書き込む例を示しました。

function RandomGen() {
Random = math.floor(Math.random()*60);
    document.writeln("<th>");
       document.writeln(Random);
       document.writeln("</th>");
}
RandomGen();

配列を使用するために、これを行うことはできますか?

var RandomArray [

RandomGen(),
second_function(),
third_function(),
forth_function(),
]

RandomArray[0];

関数を一緒に追加してテーブルに書き込むにはどうすればよいですか?

4

2 に答える 2

3

あなたはほとんどそれを手に入れました。正しい構文は次のとおりです。

var randomArray = [    
  RandomGen,
  second_function,
  third_function,
  forth_function
];

randomArray[0](); // this calls RandomGen
randomArray[1](); // this calls second_function

基本的な構文規則を覚えておいてください。

  1. 括弧のない関数名は関数参照です。これは参照と同じように動作するため、変数として扱うことができます。つまり、それを別の変数に割り当て、別の関数に渡し、上の例のように配列に入れることができます。

  2. 関数参照に括弧を追加する()と、関数が呼び出されます。関数参照が単純な古い関数名であるか、別の変数に格納されているか、配列に格納されているかは問題ではありません。

于 2013-03-26T06:19:44.043 に答える
1

関数を変数に格納し、変数を配列に入れ、配列からそれらにアクセスして呼び出すことができます。

var add = function(x,y){ return x + y; };
var multiply = function(x,y){ return x * y; };
var maths = [];
maths.push(add);
maths.push(multiply);
maths[0](1,2);//3
maths[1](3,4);//12

逆に、オブジェクトでこれを行うことができます。

var maths = {};
maths.add = function(x,y){ return x + y; };
var four = maths.add(1,3);

明らかに、正確な状況に合わせてこれらを変更する必要があります。

于 2013-03-26T06:01:12.310 に答える