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>