il codice rivisto sarebbe

codice:
function Prova(a,b) {
  this.nome=a;
  this.cognome=b;
  
  this.funzione = function() {
     return this.nome + this.cognome;
  };
};

var x = new Prova("Mario","Rossi");
var y = new Prova("Carlo","Bianchi");

alert(x.funzione());
alert(y.funzione());

i costruttori sono oggetti (le funzioni sono oggetti) che possono essere istanziati

un'istanza del costruttore è quella che si ottiene attraverso un'assegnazione e l'uso della keyword "new"
nel caso sopra le istanze sono "x" e "y" e il costruttore è "Prova"

"this" è un riferimento all'istanza e consente quindi di accedere ai metodi e alle proprietà dell'istanza.