用Javascript实现Command模式
来源:互联网 发布:淘宝悬浮导航在线制作 编辑:程序博客网 时间:2024/05/29 14:29
这个实现实在太简单了………动态语言就是好使啊~
先定义一个Command对象,代码如下:
为这样的简单而和谐 惊叹了!
先定义一个Command对象,代码如下:
function Command(obj) {
var commandObj = obj; // save the reference of working object
var oldProp = new Object(); // save old properties
// set new properties and save old properties
this.Do = function() {
for (var o in this) {
oldProp[o] = commandObj[o];
commandObj[o] = this[o];
}
}
// restore old properties
this.Undo = function() {
for (var o in oldProp) {
commandObj[o] = oldProp[o];
}
delete oldProp;
oldProp = new Object();
}
}
如果要调用,这样写就可以了:var commandObj = obj; // save the reference of working object
var oldProp = new Object(); // save old properties
// set new properties and save old properties
this.Do = function() {
for (var o in this) {
oldProp[o] = commandObj[o];
commandObj[o] = this[o];
}
}
// restore old properties
this.Undo = function() {
for (var o in oldProp) {
commandObj[o] = oldProp[o];
}
delete oldProp;
oldProp = new Object();
}
}
// "mc" is an object that has _alpha and _x attributes
var com = new Command(mc);
com._alpha = 20;
com._x = 200;
com.Do();
// do something...
// remember to save this Command somewhere...
// now, undo it!
com.Undo();
com._alpha = 20;
com._x = 200;
com.Do();
// do something...
// remember to save this Command somewhere...
// now, undo it!
com.Undo();
为这样的简单而和谐 惊叹了!
- 用Javascript实现Command模式
- 实现Command模式
- 实现Command模式
- 实现Command模式
- C++实现Command模式
- 开发模式:实现Command模式
- JavaScript Undo-Redo(根据《在javascript中用command 模式实现undo和redo》修改兼容Firefox)
- C++实现Behavioral - Command模式
- C++实现Behavioral - Command模式
- command模式(c 语言实现)
- Java 实现命令(Command)模式
- 用 Command设计模式实现 Undo和Redo 功能
- 在javascript中用command模式模拟多线程
- JavaScript设计模式学习——Command
- 设计模式C++实现-Command模式
- 用javascript实现观察者模式
- 14.Javascript设计模式之命令模式----Command
- 使用Command模式实现撤销机制[1]
- Blog链接
- Fedora Core 5 (fc5)硬盘安装方法(转载自linuxost.org 作者:mick221)
- .NET 下Windows消息的定义
- 发现TotalCommander还挺好用的
- 正确面对移动解决方案-给自己一点小小的打击!
- 用Javascript实现Command模式
- [转]C++ 学习指南
- ASP.NET数据库编程快速入门之技术慨述
- Photoshop简单修饰使照片天空更靓丽
- Photoshop简单修饰使照片天空更靓丽
- 使用表单制作网页的五点技巧
- 用AJAX+J2EE实现一个网上会议室系统
- ZendCache使你的站点飞起来
- mysql command