js 数组_模拟堆栈实现——前进、撤销…

来源:互联网 发布:cnc简单宏程式编程实例 编辑:程序博客网 时间:2024/05/22 02:29
5个参数:
第一个参数:第一个数组:用于保存改变后的数据状态
第二个参数:第二个数组:用于保存撤销后的数据,便于ctrl+y 前进
第三个参数:字符串标志:"s"代表保存数据,"z" 代表撤销数据,"y" 代表前进数据
第四个参数:传进来的要保存的数据:保存到数组中
第五个参数:传进来的要保存的初始时数据(例如:canvas的没画画时的空白状态):同样保存到数组中
因为你撤销时,最多撤销到 第五个参数的状态
(前三个是必传参数,后面两个在 保存 数据时传入要保存的数据,撤销 或 前进时,随便传什么)

返回数据:如果是 ctrl+z,返回前一个数据;如果是 ctrl+y 返回后一个数据
这时你就可以用返回的数据覆盖当前状态,达到撤销 与 前进 的目的




----------------------------------------------------------------------------------------

js <wbr>数组_模拟堆栈实现——前进、撤销




----------------------
------------------------------------------------------------------

压缩后的代码:
【functionstack(e,c,b,d,a){switch(b){case"z":if(e.length>1){c.push(e[e.length-1]);e.pop()}break;case"y":if(c.length>0){e.push(c[c.length-1]);c.pop()}break;case"s":if(e[0]!=a){e.unshift(a)}c.splice(0,c.length);e.push(d);break;default:alert("Error");break}returne[e.length-1]};】


----------------------------------------------------------------------------------------

源代码文件:链接:http://pan.baidu.com/s/1c9Lwpo 密码: en9q



0 0
原创粉丝点击