2010-10-29 3 views

Répondre

3

Il est juste la vie privée par convention - il a mis un underscor e avant le nom de la méthode, qui est sa façon de dire "cette méthode est privée, ne l'appelle pas".

+0

Droite. Je pensais que c'était peut-être le cas parce que je ne voyais aucun moyen de protéger la vie privée. Je voulais juste m'assurer qu'il n'y avait pas quelque chose qui me manquait –

3

Il n'est pas; il n'y a pas de visibilité en Javascript en dehors de la portée. Ces spécifications dans l'exemple sont basées sur la nomenclature des méthodes et le but uniquement.

3

En bref:

Résumé

  • variables privées sont déclarées avec le mot-clé var intérieur de l'objet, et ne sont accessibles que par des fonctions privées et les méthodes privilégiées.

  • Les fonctions privées sont déclarées en ligne dans le constructeur de l'objet (ou peuvent être définies via var functionName=function(){...}) et ne peuvent être appelées que par des méthodes privilégiées (y compris le constructeur de l'objet).

  • Les méthodes privilégiées sont déclarées avec this.methodName=function(){...} et peuvent être appelées par un code externe à l'objet.

  • Les propriétés publiques sont déclarées avec this.variableName et peuvent être lues/écrites depuis l'extérieur de l'objet.

  • Les méthodes publiques sont définies par Classname.prototype.methodName = function(){...} et peuvent être appelées depuis l'extérieur de l'objet.

  • prototype propriétés sont définies par Classname.prototype.propertyName = someValue

  • propriétés statiques sont définies par Classname.propertyName = someValue

Vous pouvez lire un excellent article ici:

http://javascript.crockford.com/private.html

+0

C'est comme cela que la vie privée peut être atteinte, mais cela n'explique pas ce qui se passe ici. – Skilldrick

+0

Pourriez-vous modifier cela afin que je puisse lire le tout et fournir une citation? –

Questions connexes