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>