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.**w*3.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 >