在javascript中实现函数数组的方法

  js与java之类的语言一个最大的不同之处在于函数也被视为数据,能够像java中的一个对象一样操作。并且由于js不进行类型检查,数组可以存放任何东西。于是我就想数组里可否存放函数呢。

  实现以下功能:

  函数在调用后把自己存放到数组中(可根据参数不予存放)

  然后可以用一个大函数来操作数组,调用其中的函数。

  本来我想用这个方法执行一次Undo功能(就是每个函数把自己存放进去,如果Undo则剔除最后一个函数,把整个队列执行一遍),后来觉得这样太麻烦。不过函数数组的功能倒是实现了:贴上JSP

  

复制代码 代码如下:

  <%@ page language="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>

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

  <title>MothedList</title>

  </head>

  <body>

  <input type="button" onclick="ff()" />

  <script type="text/javascript">

  list = new Array;

  f1 = function f1(flage) {

  alert("f1");

  if (flage)

  list.push(f1);

  }

  f2 = function f1(flage) {

  alert("f2");

  if (flage)

  list.push(f2);

  }

  function ff() {

  f1(true);

  f2(true);

  f = list.pop();

  f(false);

  f = list.pop();

  f();

  }

  </script>

  </body>

  </html>