// 各种要执行的命令
var closeDoorCommand = {
execute: function () {
console.log("关门");
},
};
var openPcCommand = {
execute: function () {
console.log("开电脑");
},
};
var openQQCommand = {
execute: function () {
console.log("登录QQ");
},
};
// 定义宏命令
var MacroCommand = function () {
return {
commandsList: [], // 命令队列
add: function (command) {
this.commandsList.push(command);
},
execute: function () {
for (var i = 0, command; i < this.commandsList.length; i++) {
command = this.commandsList[i];
command.execute();
}
},
};
};
var macroCommand = MacroCommand();
// 组合命令
macroCommand.add(closeDoorCommand); // 先关门
macroCommand.add(openPcCommand); // 再打开电脑
macroCommand.add(openQQCommand); // 最后打开QQ
macroCommand.execute(); // 执行宏命令