code: function afterReturning(functionToAdvise, afterReturningAdvice) {
      return function afterReturningAdvisedFunction(...args) {
          // constructor interception
          if (this instanceof afterReturningAdvisedFunction) {
              let proxy = Object.create(functionToAdvise.prototype);
              proxy = applyConstructor(functionToAdvise, proxy, args);
              afterReturningAdvice.call(proxy, proxy);
              return proxy;
          }
  
          let result = functionToAdvise.apply(this, args);
          afterReturningAdvice.call(this, result);
          return result;
      };
  }
docs: 返回一个新的函数, 执行逻辑为, 在 functionToAdvise 函数正常返回后,
  执行 afterReturningFunction, afterReturningFunction 接收 functionToAdvise 执行后的返回结果作为唯一参数,
  不影响返回结果
  
  @param {Function} functionToAdvise 被拦截函数
  @param {Function} afterReturningAdvice  被拦截函数正常返回后的执行函数
  @return {Function} 组装了拦截功能后的函数