Maison >interface Web >js tutoriel >A quoi servent les méthodes privilégiées javascript ?
En JavaScript, les méthodes privilégiées font référence aux méthodes qui permettent aux utilisateurs d'y accéder en tant que méthodes publiques lors de l'affichage et du traitement de variables privées. Fonction : accès public en dehors du constructeur (limité aux objets instanciés), et également capable d'accéder aux membres et méthodes privés ; l'accès aux propriétés ou méthodes privées par les méthodes publiques peut être contrôlé via des méthodes privilégiées.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Méthodes privilégiées :
fait référence aux méthodes qui permettent aux utilisateurs d'y accéder en tant que méthodes publiques lors de l'affichage et du traitement des variables privées
. Points clés :
1. Une méthode privilégiée est une méthode
2 Une méthode privilégiée peut accéder à des variables privées
Définir une méthode privilégiée
La méthode définie via le mot-clé this à l'intérieur du constructeur peut être appelée par l'héritage d'objet instancié.var Student = function(name) { var _name = name; //私有属性 //特权方法 this.getName = function() { return _name; }; this.setName = function(name) { _name = name; }; }; var s1 = new Student('zhangsan'); s1.getName(); //zhangsan
Le rôle des méthodes privilégiées
Les méthodes privilégiées sont accessibles publiquement en dehors du constructeur (limitées aux objets instanciés), et peuvent également accéder aux membres et méthodes privés, donc , l'interface utilisée comme objet ou constructeur est la plus adaptée. Grâce à des méthodes privilégiées, nous pouvons contrôler l'accès des méthodes publiques aux propriétés ou méthodes privées. Il existe de nombreuses applications dans l’extension du framework JS.La différence entre les méthodes privilégiées et les méthodes publiques
//创建Student对象实例 var s1 = new Student('zhangsan'); var s2 = new Student('lisi'); //两实例的特权方法的引用不相同, 说明在对象实例化的时特权方法被重新创建 console.log(s1.getName === s2.getName); //false2. Les méthodes privilégiées peuvent accéder aux propriétés et méthodes privées, mais pas les méthodes publiques.
//为Student创建公有方法 //公有方法不能访问私有属性 Student.prototype.myMethod = function() { console.log(_name); //ReferenceError: _name is not defined }; s1.myMethod();[Apprentissage recommandé :
Tutoriel avancé javascript]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!