Les méthodes anonymes sont souvent utilisées comme attributs en JavaScript. Cette méthode nous permet d'appeler des méthodes en accédant directement aux attributs sans avoir à définir une fonction à appeler. Cet article présentera les méthodes et les scénarios d'utilisation de méthodes anonymes comme propriétés.
var obj = { method: function() { console.log('Hello World!'); } };
Dans l'exemple ci-dessus, nous définissons un objet obj, qui contient une méthode d'attribut, et sa valeur est une fonction anonyme. Le code dans la fonction anonyme sera exécuté. lorsqu'on l'appelle. On peut appeler cette fonction de la manière suivante :
obj.method(); // Hello World!
var obj = { clickHandler: function() { console.log('Button clicked!'); } }; var button = document.getElementById('myButton'); button.addEventListener('click', obj.clickHandler);
Dans l'exemple ci-dessus, nous avons défini un objet obj, qui contient un attribut clickHandler. Sa valeur est une fonction anonyme. Cette fonction est utilisée pour gérer les événements de clic de bouton. Nous lions cette fonction à l'événement click de l'élément bouton Lorsque le bouton est cliqué, la fonction clickHandler sera appelée.
2) Encapsuler des plug-ins ou des bibliothèques : En utilisant des méthodes comme attributs d'objets, on peut facilement encapsuler des plug-ins ou des bibliothèques.
var myLibrary = { init: function() { // 初始化代码 }, method1: function() { // 方法1代码 }, method2: function() { // 方法2代码 } };
Dans l'exemple ci-dessus, nous avons défini un objet nommé myLibrary, qui contient certaines méthodes fournies par des bibliothèques ou des plug-ins. Nous pouvons utiliser des bibliothèques ou des plugins en appelant ces méthodes.
3) Implémentation de machines à états : En utilisant des méthodes comme attributs d'objets, nous pouvons facilement implémenter des machines à états.
var StateMachine = { state: 'off', on: function() { this.state = 'on'; }, off: function() { this.state = 'off'; } }; StateMachine.on(); // StateMachine.state = 'on' StateMachine.off(); // StateMachine.state = 'off'
Dans l'exemple ci-dessus, nous avons défini un objet nommé StateMachine, qui contient deux méthodes utilisées pour changer l'état de l'objet.
Notes sur les attributs de méthode anonymesvar obj = { name: 'Tom', getName: function() { return this.name; } }; var getNameFunc = obj.getName; console.log(getNameFunc()); // undefined
Dans le code ci-dessus, nous attribuons la méthode getName dans obj à la variable getNameFunc Lorsque nous appelons getNameFunc, elle renvoie undefined C'est parce que cela pointe vers l'objet global à ce moment-là.
2) L'objet arguments dans la fonction : Dans la méthode anonyme, l'objet arguments représente les paramètres passés dans la fonction courante, pas l'objet arguments global.
function test() { return { arguments: arguments[0] }; } console.log(test('Hello world!').arguments); // Hello world!
Dans le code ci-dessus, nous utilisons l'objet arguments dans la méthode anonyme, qui représente les paramètres de la fonction actuelle.
ConclusionCe 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!