Maison interface Web js tutoriel Explication détaillée des différentes manières d'appeler des fonctions et du pointage de celles-ci

Explication détaillée des différentes manières d'appeler des fonctions et du pointage de celles-ci

Feb 06, 2018 am 09:22 AM
this différent 方式

1. Méthode d'appel de fonction

1. En tant que fonction, une méthode directe et facile à comprendre (c'est-à-dire un mode d'appel de fonction).

2. En tant que méthode, la méthode est connectée à l'objet et appelée par l'objet. Ce formulaire est une programmation orientée objet.

3. En tant que constructeur, un nouvel objet est créé pendant le processus de construction.

4. Via la méthode apply ou call de la fonction.

Cet article vous apporte principalement une brève discussion sur les différentes manières d'appeler une fonction et la direction de celle-ci. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.

2. Paramètres de fonction

1. Paramètres entrants

(1) Il y a plus de variables entrantes que de variables de définition de fonction.

(2) Les variables de définition de fonction sont transmises dans plus d'une variable, et les variables supplémentaires ne sont pas définies

2 Lorsque la fonction est appelée, les deux arguments des paramètres et celui-ci sont passés en invisible. (c'est-à-dire que l'argument et celui-ci sont discrètement transmis à la fonction et agissent dans le cadre de la fonction).

(1) argument : l'ensemble des variables transmises à la fonction lorsque la fonction est appelée (a l'attribut argument.length)

par exemple : argument[0] fait référence au premier paramètre passé dans la fonction

(2) celle-ci est associée à un objet.

Selon la méthode d'appel, l'intérêt est également différent. Il s'agit donc du contexte d'invocation.

3. Pointant vers ceci

1. Mode d'appel de fonction (this->window)

Cette fonction n'appartient aux attributs d'aucun objet.

function fn1(){
 //some code
}
fn1();
或着:
var fn2=function(){
 //some code
}
fn2();
使用这种方式调用函数,函数的上下文是全局上下文(global context即window)。this->window。
Copier après la connexion

2. Mode d'appel de méthode (this-> l'objet auquel appartient la méthode)

Cette fonction est une propriété d'un objet Lorsque cette fonction est appelée, cette fonction. est considéré comme une méthode de cet objet.

var obj={
 //some code;
};
obj.getname=function(){
 //some name
}
obj.getname();
函数的上下文是这个对象(例子中的 obj)。this->obj
Copier après la connexion

3. Mode d'appel du constructeur (this-> nouvel objet créé)

Lorsqu'une fonction est appelée en tant que constructeur, elle présente les caractéristiques suivantes :

Un nouvel objet est créé ;

Le nouvel objet est passé au constructeur en tant que paramètre this, ce qui signifie que le nouvel objet est le contexte de la fonction constructeur

S'il n'y en a pas ; instruction de retour explicite, ce nouvel objet sera renvoyé implicitement (c'est-à-dire qu'il sera renvoyé silencieusement) et deviendra la valeur de ce constructeur.

function Fn(){
 this.a=function(){
   return this;
 }
}
var n=new Fn();
console.log(n.a());//Fn{a:f}
console.log(n);//fn{a:f}
//此例中,构造了一个构造函数Fn((),利用new关键字调用时一个空的对象被创建出来,并传递到函数中作为this存在。this-Fn(新的)
//这个构造器同时创建了a属性,并将此属性作为一个方法赋予给它创建出新对象的实例。
Copier après la connexion

4.apply() obtient la méthode call() (this-> peut être n'importe quel objet que nous spécifions)

(1) apply(), deux paramètres. Premier paramètre : l'objet utilisé comme contexte de fonction. Deuxième paramètre : un tableau de paramètres.

(2) call(), deux paramètres. Premier paramètre : l'objet utilisé comme contexte de fonction. Le deuxième paramètre : liste d'arguments.

call() et apply() sont principalement utilisés pour les rappels de fonctions.

function circle(list,calback){
 for(var i=0;i<list.length;i++){
   calback.call(list[i],i);
 }
}
var list=[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];
circle(list,function(index){
 console.log(index);//0,1,2(即传进来的i值)
 console.log(this);//a,b,c(call的第一个参数)
});
//this->call()传递进来的第一个参数。
Copier après la connexion

Recommandations associées :

exécution par lots mysqli de plusieurs instructions et un appel de fonction pour exécuter plusieurs instructions

Explication détaillée des opérations de données et des appels de fonction dans la page de l'applet WeChat

Comment résoudre le problème de la fonction non définie lorsque la fonction parent js appelle la fonction enfant

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les différents langages informatiques ? Quels sont les différents langages informatiques ? Aug 28, 2023 pm 02:25 PM

Les langages de programmation sont utilisés pour donner des instructions aux ordinateurs dans un langage qu'ils peuvent comprendre. Les langages informatiques sont divisés en trois types comme suit : Langage machine Langage symbolique Langage de haut niveau Langage machine Un ordinateur est une machine. Comme sa mémoire ne peut stocker que des 1 et des 0, les instructions doivent être données à l'ordinateur sous la forme d'un flux de 1 et de 0, c'est-à-dire un code binaire. Ceux-ci sont faciles à comprendre pour les machines. Les programmes écrits en code binaire qui peuvent être directement saisis dans un ordinateur pour être exécutés sont appelés langages machine. Les avantages du langage machine incluent : Exécution très rapide. Il est difficile d’écrire et de lire des programmes en langage machine. Les instructions de la machine sont difficiles à retenir. Le langage symbolique est également appelé langage assembleur. L'assembleur contient des « mnémoniques ». Un « mnémonique » est une information dont on se souvient facilement sous forme abrégée. Avantages du langage symbolique

Quelles sont les méthodes de traitement du temps en langage Go ? Quelles sont les méthodes de traitement du temps en langage Go ? Jun 10, 2023 pm 09:42 PM

En tant que langage de programmation moderne, le langage Go joue un rôle important dans le développement. Le langage Go fournit des fonctions et des structures temporelles intégrées pour rendre le traitement du temps plus pratique. Dans cet article, nous présenterons quelques méthodes de traitement du temps couramment utilisées dans le langage Go. time.Now() Nous pouvons utiliser la fonction time.Now() pour obtenir l'heure actuelle : now:=time.Now()fmt.Println(now) sortie : 2019-06-131

Un article qui comprend ce point et rattrape 70% des front-end Un article qui comprend ce point et rattrape 70% des front-end Sep 06, 2022 pm 05:03 PM

Un collègue est resté bloqué à cause d'un bug signalé par ce problème de pointage de Vue2 qui a provoqué l'utilisation d'une fonction de flèche, entraînant l'impossibilité d'obtenir les accessoires correspondants. Il ne le savait pas quand je le lui ai présenté, puis j'ai délibérément regardé le groupe de communication front-end. Jusqu'à présent, au moins 70 % des programmeurs front-end ne le comprennent toujours pas. Aujourd'hui, je vais partager avec. vous ce lien. Si tout n'est pas clair Si vous ne l'avez pas encore appris, s'il vous plaît, faites-moi une grande gueule.

Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Dec 08, 2022 pm 08:22 PM

Cet article vous aidera à interpréter le code source de Vue et à vous expliquer pourquoi vous pouvez l'utiliser pour accéder aux propriétés de diverses options de Vue2. J'espère qu'il sera utile à tout le monde !

Comment supprimer les URL indésirables de la barre d'adresse de Chrome ? Comment supprimer les URL indésirables de la barre d'adresse de Chrome ? Mar 08, 2024 am 09:19 AM

Chrome enregistrera automatiquement les URL qui ont été saisies dans la barre d'adresse et « associera automatiquement le contenu de la requête » à l'avenir, mais souvent, nous n'avons pas besoin de certaines URL, comment les supprimer ? L'éditeur rencontre souvent ce problème. Les adresses saisies auparavant seront bloquées devant les adresses couramment utilisées, ce qui nécessitera de sélectionner plusieurs fois pour accéder au site Web souhaité. J'ai cherché comment le supprimer au moins trois fois car... je l'oublie à chaque fois. Dans les raccourcis de la barre d'adresse de l'aide officielle de Chrome Raccourcis clavier Chrome, la touche de raccourci de suppression est clarifiée : ▍Windows supprime le contenu de l'association de la barre d'adresse. Appuyez sur la touche fléchée vers le bas pour mettre en surbrillance le contenu correspondant, puis appuyez sur la touche Maj+Supprimer ▍macOS. supprime le contenu de l'association du bar d'adresse cliquez vers le bas

Comment supprimer la méthode de saisie Win10 Comment supprimer la méthode de saisie Win10 Introduction détaillée Comment supprimer la méthode de saisie Win10 Comment supprimer la méthode de saisie Win10 Introduction détaillée Jul 07, 2023 pm 05:33 PM

La méthode de saisie Win10 a fait de grands progrès par rapport aux versions précédentes du système et possède de nombreuses fonctions très utiles. Elle est également très simple à utiliser et possède la fonction de saisie en mémoire. Cependant, certains utilisateurs disposent déjà de leurs propres méthodes de saisie qui sont bonnes. à utiliser. Maintenant, si vous souhaitez supprimer la méthode de saisie win10 intégrée, comment supprimer la méthode de saisie win10 ? Aujourd'hui, je vais vous expliquer en détail comment supprimer la méthode de saisie win10 ? Comment supprimer la méthode de saisie dans Win10 1. Appuyez sur [Win+i] pour ouvrir l'interface des paramètres et cliquez sur l'option « Heure et langue ». 2. Cliquez sur « Région et langue » et cliquez sur le bouton « Options » sous « Chinois » à droite. 3. Cliquez sur l'option "Microsoft Pinyin Alphabet" et le bouton "Supprimer" apparaîtra.

Comparaison du lien et de l'importation : quelles sont leurs différences ? Comparaison du lien et de l'importation : quelles sont leurs différences ? Jan 06, 2024 pm 08:23 PM

Le débat entre lien et importation : quelle est la différence ? En développement et en programmation, nous avons souvent besoin d'interagir avec d'autres fichiers ou modules. Afin de réaliser cette interaction, la liaison et l’importation sont deux méthodes couramment utilisées. Cependant, de nombreuses personnes ne connaissent peut-être pas la différence entre un lien et une importation ni quand les utiliser. Cet article présentera en détail la différence entre lien et importation et fournira des exemples de code. Tout d’abord, comprenons le concept de lien. Lien

En quoi jQuery diffère-t-il des fonctionnalités d'animation CSS3 ? Comparaison des avantages et des inconvénients En quoi jQuery diffère-t-il des fonctionnalités d'animation CSS3 ? Comparaison des avantages et des inconvénients Sep 08, 2023 am 10:00 AM

En quoi jQuery diffère-t-il des fonctionnalités d’animation CSS3 ? Comparaison des avantages et des inconvénients Introduction : Aujourd'hui, la conception Web accorde de plus en plus d'attention à l'expérience utilisateur. En tant que moyen important d’améliorer l’expérience utilisateur, les effets d’animation jouent un rôle important dans la conception Web. Dans le processus de réalisation des effets d'animation, les développeurs sont confrontés au problème de choisir d'utiliser l'animation jQuery ou CSS3. Cet article procédera à une analyse comparative entre les deux, discutera de leurs avantages et inconvénients et fournira aux lecteurs des exemples de code pertinents. 1. Animation jQuery : jQuery est un outil puissant

See all articles