Quatre formes d'existence de fonctions:
1. Morphologie fonctionnelle
2. Le formulaire de méthode attribue une fonction à un membre d'un certain objet, qui est appelé méthode.
3. Forme du constructeur
4. Forme contextuelle
1. Formulaire de fonction:
var foo = function () {alert (this); // c'est une fenêtre};2. Formulaire de méthode:
o = {}; o.foo = foo; // affecter la fonction foo à l'attribut foo de l'objet o.foo (); // L'objet apparaît, et cela représente à ce moment l'objet var lib = {test: function () {alert (this); // Ceci ici représente l'objet (objet lib lui-même) // var that = this; // Si vous voulez que cela représente un objet lib dans une fonction anonyme, vous pouvez le faire (function () {alert (this); // La fonction anonyme ici n'appartient pas à un objet lib, donc cela représente toujours Window}) (); }}; lib.test ();3. Constructeur (constructeur) var p = new personne ();
1. Nouveau crée un objet et ouvre l'espace
2. Passez l'adresse de référence de l'objet à la fonction et recevez-la avec cela dans la fonction.
3. L'exécution de la méthode de construction se termine, renvoyez ce
var personne = fonction () {this.age = 19; this.name = "mrjing"; return "{}";}; var p = new personne (); alert (p.Name); // Le pop-up n'est pas défini. Puisque la fonction renvoie un objet, l'objet est directement renvoyé à la personne et que l'attribut d'âge et de nom est ignoré var personne = fonction () {this.age = 19; this.name = "mrjing"; retour 123;}; var p = new Person (); alert (p.Name); // "Mrjing" apparaît. Étant donné que la valeur de retour n'est pas un objet, l'alerte de valeur de retour (p); // objet popt upLes choses qui ont été modifiées comprennent: le constructeur modifie la valeur de retour de la fonction; Si la valeur de retour de la fonction est un objet, retourne en fonction de la valeur de retour; Si la valeur de retour n'est pas un objet, ignorez la valeur de retour et renvoyez directement cela;
4. Fonction de modèle d'appel de contexte.Apply (objet, [liste de paramètres])
var foo1 = fonction (a, b) {alert (this); retourner un> b? a: b;}; var num = foo1.apply (null, [112, 34]); // À l'heure actuelle, FOO1 est une forme de fonction, cela signifie Windownum = foo1.apply ({}, [112, 34]); // Pour le moment, FOO1 est une forme de méthode, cela signifie que l'objet passé dans le paramètre {}function.call (objet, liste de paramètres);
var num1 = foo1.call (null, 112,34); num1 = foo1.call ({}, 112,34); // à l'exception de la liste des paramètres, le reste est le même qu'appliquerL'article ci-dessus discute brièvement des quatre formes de fonctions JavaScript. C'est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.