js と Java などの言語の大きな違いの 1 つは、関数もデータとみなされ、Java ではオブジェクトのように操作できることです。また、js は型チェックを実行しないため、配列には何でも格納できます。そこで、関数を配列に格納できないかと考えました。
次の関数を実装します。
関数呼び出し後、関数自体を配列に格納します(パラメータによっては格納できません)
その後、大きな関数を使用して配列を操作し、その中の関数を呼び出すことができます。
当初は、このメソッドを使用して Undo 関数を実行したかったのですが (つまり、各関数はその関数に自分自身を格納し、Undo の場合は最後の関数が削除され、キュー全体が実行されます)、後でこれは問題があると感じました。面倒すぎる。ただし、関数配列の機能は実現されます: JSP を貼り付けます。
次のようにコードをコピーします。
<%@ ページ言語="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MothedList</title>
</head>
<本文>
<input type="button" onclick="ff()" />
<script type="text/javascript">
リスト = 新しい配列;
f1 = 関数 f1(flage) {
アラート("f1");
if(フラゲ)
リスト.プッシュ(f1);
}
f2 = 関数 f1(フラグ) {
アラート("f2");
if(フラゲ)
リスト.プッシュ(f2);
}
関数 ff() {
f1(真);
f2(真);
f = リスト.ポップ();
f(偽);
f = リスト.ポップ();
f();
}
</script>
</body>
</html>