Pour faire une classe JavaScript avec une méthode publique que je ferais quelque chose comme:
function Restaurant()
{
}
Restaurant.prototype.buy_food = function()
{
// something here
}
Restaurant.prototype.use_restroom = function()
{
// something here
}
De cette façon, les utilisateurs de ma classe peut:
var restaurant = new Restaurant();
restaurant.buy_food();
restaurant.use_restroom();
Comment puis-je créer une méthode privée que mon public buy_food et use_restroom méthodes peuvent appeler, mais que les utilisateurs de la classe ne peut pas appeler à l'extérieur.
En d'autres termes, je veux que ma méthode mise en œuvre pour être en mesure de le faire:
Restaurant.prototype.use_restroom = function()
{
this.private_stuff();
}
Mais cela ne devrait pas fonctionner:
var r = new Restaurant();
r.private_stuff();
Comment puis-je définir private_stuff comme une méthode privée de ceux qui détiennent le vrai?
J'ai lu Doug Crockford de writeup quelques fois, mais il ne semble pas comme "privé" méthodes peuvent être appelées par des méthodes publiques et les "privilégiés" méthodes peuvent être appelées de l'extérieur.