示例参考 - ES5
<script>
function Teacher() {
this.fullAttendence = true;
}
function LeaveCommand(teacher) {
this.teacher = teacher;
}
LeaveCommand.prototype.do = function () {
this.teacher.fullAttendence = false;
console.log('请假成功');
console.log('重新安排课程...');
// ...
}
LeaveCommand.prototype.undo = function () {
this.teacher.fullAttendence = true;
console.log('撤销请假');
console.log('恢复课程...');
// ...
}
var whh = new Teacher();
var leave = new LeaveCommand(whh);
console.log(whh);
leave.do();
console.log(whh);
leave.undo();
console.log(whh);
</script>
示例参考 - ES6
<script>
class Teacher {
constructor() {
this.fullAttendence = true;
}
}
class LeaveCommand {
constructor(teacher) {
this.teacher = teacher;
}
do() {
this.teacher.fullAttendence = false;
console.log('请假成功');
console.log('重新安排课程...');
// ...
}
undo() {
this.teacher.fullAttendence = true;
console.log('撤销请假');
console.log('恢复课程...');
// ...
}
}
var whh = new Teacher();
var leave = new LeaveCommand(whh);
console.log(whh);
leave.do();
console.log(whh);
leave.undo();
console.log(whh);
</script>
登录后评论