Maison > interface Web > js tutoriel > le corps du texte

Interprétation détaillée des quatre formes d'existence des fonctions JavaScript (tutoriel graphique)

亚连
Libérer: 2018-05-21 10:19:25
original
1554 Les gens l'ont consulté

Maintenant, je vais vous proposer un article sur les quatre formes d'existence des fonctions JavaScript. Permettez-moi de le partager avec vous maintenant et de le donner comme référence pour tout le monde.

Les quatre formes d'existence des fonctions :

1. Le formulaire de fonction

2. Un membre d'un objet est appelé une méthode

3. Forme du constructeur

4. Forme du contexte

1. 🎜>

2. Formulaire de méthode :
var foo = function() {
  alert(this);       //this是window
};
Copier après la connexion

o = {};
o.foo = foo;  //将函数foo赋值给对象o的foo属性
o.foo();    //弹出的是object,此时的this表示object
Copier après la connexion
3. Constructeur (constructeur) var p = new Person();
var lib = {
  test:function() {
    alert(this);     //此处的this表示object(lib对象本身)
    //var that = this;  //要想匿名函数中this表示lib对象,可以这样
    (function() {
     alert(this);    //此处的匿名函数不属于lib对象,所以this的任然表示window
    })();
  }
};
lib.test();
Copier après la connexion

1. new crée l'objet et ouvre l'espace

2. Transmettez l'adresse de référence de l'objet à la fonction, et utilisez-la pour la recevoir dans la fonction

3. Lorsque la méthode constructeur est exécutée, elle renvoie ceci

. Les éléments modifiés sont : le constructeur modifie la valeur de retour de la fonction si la valeur de retour de la fonction est un objet, alors ; elle est renvoyée en fonction de la valeur de retour ; Si la valeur de retour n'est pas un objet, ignorez la valeur de retour et renvoyez-la directement
var Person = function() {
  this.age = 19;
  this.name = "Mr靖";
  return "{}";
};
var p = new Person();
alert(p.name);  //弹出的是undefined,由于函数返回的是一个对象,所以直接将这个对象返回给person,而忽略age,name属性
Copier après la connexion
var Person = function() {
  this.age = 19;
  this.name = "Mr靖";
  return 123;
};
var p = new Person();
alert(p.name);    //弹出“Mr靖”,由于返回值不是对象,所以直接忽略返回值
alert(p);      //弹出object
Copier après la connexion

4. (objet, [liste de paramètres])

Fonction.call

var foo1 = function(a, b) {
  alert(this);
  return a > b ? a : b;
};
var num = foo1.apply(null, [112, 34]);   //此时foo1是函数形态,this表示window
num = foo1.apply({}, [112, 34]);      //此时foo1是方法形态,this表示参数中传入的对象{}
Copier après la connexion
(objet, liste de paramètres);

Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère qu'il sera utile à l'avenir. Utile à tout le monde. Articles associés :

var num1 =foo1.call(null,112,34);
num1=foo1.call({},112,34);      //除了参数列表外,其余和apply一样
Copier après la connexion

En savoir plus sur le contenu de base des objets JavaScript Array

Comment utiliser l'évaluation JavaScript ( ) fonctionnent correctement

Code d'implémentation de liaison à trois niveaux javascript AJAX natif

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!