Je suis à la recherche de variables privées en JavaScript et je comprends la syntaxe pour eux, mais je suis curieux de savoir comment ils travaillent plus sous le capot avec les fonctions.javascript et variables privées
Il fonctionne semble déclarées dans une autre fonction, même après avoir été enregistré en tant que la valeur d'objet d'une variable externe, sont soit
- liée à la portée de la fonction externe et avoir accès à ses variables, OU
- la La valeur de la variable dans la fonction externe est simplement passée à la fonction interne (fermeture).
Lequel est-il ou est-ce quelque chose de différent que je n'ai pas pensé. grâce
function Cat(name,amt){
this.name=name;
let num=amt;//private
let num2=5;//private
this.add=function(){//is privileged and has access to variables during object creation and is public
return num+num2;
}
}
Cat.prototype.scratch=function(){
let amt= this.add();
console.log(this.name + " scratched " + amt + " times.");
}
let spots= new Cat("spots", 5);
Spots.scratch()// prints "spots scratched 10 times."
C'est 1). Ils ont accès aux * variables * de la portée dans laquelle ils ont été définis, pas aux valeurs. – Bergi