Programmation orientée aspect Une abréviation pour aspect, c'est une méthode qui vous permet de décrire diverses parties inséparables d'un programme comme un aspect en extrayant un traitement commun à tous les niveaux.
Source de l'image: Tutoriel Spring AOP - AOP pour les débutants avec des exemples
Il existe différentes méthodes, mais cette fois je présenterai Function.prototype à titre d'exemple.
//Définir avant la fonction
Function.prototype.before = function( functionBefore ) {
  var _this = this;
  //Renvoie respectivement la fonction d'origine et la fonction avant
  return function() {
    functionBefore.apply(this, arguments);
    return _this.apply(this, arguments);
  }
};
//Définir la fonction après
Function.prototype.after = function( functionAfter ) {
  var _this = this;
  return function() {
    var result = _this.apply(this, arguments);
    functionAfter.apply(this, arguments);
    return result;
  }
};
//Préparer une fonction de test
var fn = function() {
  console.log('fn is running');
};
// before()Et après()Pour "ajouter" à la fonction de test
fn = fn.before(function(){
  console.log('start!');
}).after(function(){
  console.log('end!');
});
fn();
Le résultat est:

Il s'avère que «start!», «Fn is running» et «end!» Sont affichés dans l'ordre.
Mécanisme commun tel que.