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> 
 

时间: 2024-12-30 16:57:48

javascript实现函数数组的方法的相关文章

把json格式的字符串转换成javascript对象或数组的方法总结_javascript技巧

第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ToJSON(o){ if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;} })("[{name:'zhangsan',age:'24'},{na

在javascript中实现函数数组的方法_javascript技巧

js与java之类的语言一个最大的不同之处在于函数也被视为数据,能够像java中的一个对象一样操作.并且由于js不进行类型检查,数组可以存放任何东西.于是我就想数组里可否存放函数呢. 实现以下功能: 函数在调用后把自己存放到数组中(可根据参数不予存放) 然后可以用一个大函数来操作数组,调用其中的函数. 本来我想用这个方法执行一次Undo功能(就是每个函数把自己存放进去,如果Undo则剔除最后一个函数,把整个队列执行一遍),后来觉得这样太麻烦.不过函数数组的功能倒是实现了:贴上JSP 复制代码 代

Javascript remove 自定义数组删除方法_javascript技巧

复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Javascript自定义数组删除方法remove()</title> <script type="text/javascript"> Array.prototype.remove=function(dx){ if(isNaN(dx)||dx>this.lengt

添加JavaScript重载函数的辅助方法2_javascript技巧

代码依然简单.所以依然没什么好解释的.. 复制代码 代码如下: /** KOverLoad 一个创建重载函数的辅助方法. 补充上次的函数. @Author ake 2010-07-03 @weblog http://www.cnblogs.com/akecn */ var KOverLoad = function(scope) { this.scope = scope || window; //默认添加方法到这个对象中.同时添加的方法的this指向该对象. this.list = {}; //存

JavaScript中清空数组的方法总结_javascript技巧

 方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, var ary = [1,2,3,4]; ary.l

javascript删除重复数组项方法与原理

arr[j]==i 您这里貌似 是指当数组元素 为number类型时的相等性判断... 但是往往我们可能要对不同类型做 相等性判断... 这个是实际应用时应该考虑的问题 1!=new number(1)的情况 null==undefined 的情况 0=="0" 的情况 等等 所以 显然 简单的== 和===都是不合适的. 应该独立实现一个 equals 方法 做相等性判断... 要根据需求 设置规则   <script> array.prototype.del = fun

javascript 替换函数全部替换方法

<script language="javascript"> var r= "1n2n3n"; //将字母n替换成分号 alert(r.replace("n",";")); 结果:1;2n3n 只替换了第一个 </script> <script language="javascript"> var r= "1n2n3n"; //将字母n替换成分号 al

javascript数组去重方法汇总

  javascript数组去重方法汇总        数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑下性能.以下方法,网上基本都有,这里只是简单地总结一下. javascript数组去重方法汇总 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Javascript调用函数方法的几种方式介绍

 这篇文章主要介绍了Javascript调用函数方法的几种方式介绍,本文讲解了func().(function(arg){})(window).func.bind(sth)().func.call().func.apply()等5种方式,需要的朋友可以参考下     javascript语法灵活,同一个功能有五六种实现方式并不罕见,然后再加上有些反人类的原型继承和异步特性,就更让人一头雾水了.我经常搞不清楚call,apply之间的区别,今天就记录一下,以免再忘了. 在javascript中,方