您的位置:首页 > Web前端 > JavaScript

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

2017-04-14 15:15 302 查看
5
个参数:
第一个参数:第一个数组:用于保存改变后的数据状态
第二个参数:第二个数组:用于保存撤销后的数据,便于
ctrl+y 前进
第三个参数:字符串标志:"s"
代表保存数据,"z" 代表撤销数据,"y" 代表前进数据
第四个参数:传进来的要保存的数据:保存到数组中
第五个参数:传进来的要保存的初始时数据(例如:canvas的没画画时的空白状态):同样保存到数组中
因为你撤销时,最多撤销到 第五个
参数的状态
(前三个是必传参数,后面两个在 保存 数据时传入要保存的数据,撤销 或 前进
时,随便传什么)

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

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





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

压缩后的代码:
【function
stack(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}return
e[e.length-1]};】

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

源代码文件:链接: http://pan.baidu.com/s/1c9Lwpo 密码: en9q
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: