Voici une proposition très simple pour la méthode pop() :

function POP(){
  return this.splice(-1,1); // Retourne le dernier élément du tableau
}
Array.prototype.pop=POP;       // on rajoute à tous les objets Array une méthode pop définie par la fonction POP

TabEssai=[12,3,16];
alert('Element preleve : '+TabEssai.pop()+'\n \n Element(s) restant(s) : '+TabEssai);

Cette proposition a l'avantage de nous montrer une utilisation de la méthode splice(), mais cela devient un inconvénient pour le but recherché puisque cette méthode n'est pas supportée par Internet Explorer. Or, nous cherchions à définir la méthode pop() justement parce qu'elle n'est pas définie dans ce Navigateur.

D'ailleurs, les utilisateurs de IE ont leur index qui a traversé la souris sans succès... Le bouton EXEC est resté inefficace.

Voici une nouvelle proposition supportée par IE :

function POPIE(){
  var A= this[this.length-1]; // A prend la valeur du dernier élément du tableau
  this.length--;              // On retire la dernière cellule du tableau
  return A; ;
                // On renvoie la valeur prélevée
}
Array.prototype.pop=POPIE;
      // on rajoute à tous les objets Array une méthode pop définie par la fonction POPIE

TabEssai=[12,3,16];
alert('Element preleve : '+TabEssai.pop()+'\n \n Element(s) restant(s) : '+TabEssai);

Cette solution nous montre que la propriété length peut être accédée en écriture, ce qui a pour effet, dans le cas d'une réduction de cette valeur, de tronquer la fin du tableau.