javasctipt通過高階函式實現AOP
阿新 • • 發佈:2018-12-13
在JS中實現AOP,都是把一個函式動態的置入到另一個函式裡面
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
AOP操作
<script type="text/javascript">
Function.prototype.before = function(beforefn){
var _self = this;
return function(){
beforefn.apply(this ,arguments); // 執行before函式
return _self.apply(this,arguments); // 執行本函式
}
};
Function.prototype.after = function(afterfn){
var _self = this;
return function(){
var ret = _self.apply(this,arguments); // 執行本函式
afterfn.apply(this,arguments); // 執行after函式
return ret;
}
};
var func = function(){
console.log('helloWorld!');
}
func = func.before(function(){
console.log("1")
}).after(function(){
console.log("2")
})
func();
</script>
</body>
</html>