JavaScript ES6对Proxy的原生支持的一个例子:开发人员学习额外的编程语言

源代码:

<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开发人员被雇佣的时候,在业余时间里,也能自学其他的编程语言:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

发布了7169 篇原创文章 · 获赞 654 · 访问量 124万+

猜你喜欢

转载自blog.csdn.net/i042416/article/details/105087622