在javascript中实现函数数组的方法
作者:
js不进行类型检查,数组可以存放任何东西。于是我就想数组里可否存放函数呢,下面就为大家详细介绍下
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>
实现以下功能:
函数在调用后把自己存放到数组中(可根据参数不予存放)
然后可以用一个大函数来操作数组,调用其中的函数。
本来我想用这个方法执行一次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>