源代码:
<html>
<script>
function Employee(name){
this.name = name;
};
Employee.prototype.work = function(language){
console.log(this.name + " is developing with: " + language);
}
let jerry = new Employee("Jerry");
function hireEmployee(employee, language){
employee.work(language);
}
hireEmployee(jerry, "JavaScript");
var proxyLogic = {
get: function(target, name) {
if( name == "work"){
var oriFun = target[name].bind(target);
return function(language){
oriFun(language);
console.log("and also study other language in spare time");
}
}
}
};
var jerryProxy = new Proxy(jerry, proxyLogic );
hireEmployee(jerryProxy, "JavaScript");
</script>
</html>
使用代理模式,使得Jerry作为一个ABAP开发人员被雇佣的时候,在业余时间里,也能自学其他的编程语言: