1. 程式人生 > >javasctipt通過高階函式實現AOP

javasctipt通過高階函式實現AOP

在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>