Maison  >  Article  >  interface Web  >  Quelles sont les méthodes d’appel de fonctions en javascript ?

Quelles sont les méthodes d’appel de fonctions en javascript ?

coldplay.xixi
coldplay.xixioriginal
2021-04-15 13:45:562490parcourir

Les méthodes d'appel de fonctions en JavaScript sont : 1. Utilisez la fonction makeArray comme l'une de ses méthodes et utilisez json pour déclarer un objet ; 2. Utilisez la méthode [obj.myFunction()] pour appeler la syntaxe ; .

Quelles sont les méthodes d’appel de fonctions en javascript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.

Les méthodes d'appel de fonction Javascript sont :

Règle d'appel de fonction JavaScript 1 Les fonctions directement appelées, telles que myFunction(), feront que la valeur de this deviendra l'objet par défaut (la fenêtre du navigateur).

Appel de fonction

Créons maintenant un objet simple, en utilisant la fonction makeArray comme l'une de ses méthodes. Nous utiliserons json pour déclarer un objet, et nous appellerons également cette méthode
//creating the object
var arrayMaker = {
    someProperty: 'some value here',
    make: makeArray
};
 
//invoke the make() method
arrayMaker.make('one', 'two');
// => [ arrayMaker, 'one', 'two' ]
// alternative syntax, using square brackets
arrayMaker['make']('one', 'two');
// => [ arrayMaker, 'one', 'two' ]

Voir la différence ici, la valeur de this devient l'objet lui-même. Vous vous demandez peut-être pourquoi la définition de la fonction d'origine n'a pas changé, pourquoi n'est-ce pas une fenêtre. Eh bien, c'est la fonction dans JSavacript. en JavaScript, une fonction est un type de données standard en JavaScript, un objet pour être exact. Vous pouvez les transmettre ou les copier, c'est comme si la fonction entière avec la liste de paramètres et le corps de la fonction était copiée et affectée à l'attribut make dans arrayMaker. c'est comme définir un arrayMaker comme ceci :

var arrayMaker = {
    someProperty: 'some value here',
    make: function (arg1, arg2) {
        return [ this, arg1, arg2 ];
    }
};

Fonction JavaScript appelant la règle 2

Dans une syntaxe d'appel de méthode, comme obj.myFunction() ou obj['myFunction' ](), alors la valeur de this est objC'est la principale source de bugs dans le code de gestion des événements, jetez un œil à ces exemples

<input type="button" value="Button 1" id="btn1"  />
<input type="button" value="Button 2" id="btn2"  />
<input type="button" value="Button 3" id="btn3"  onclick="buttonClicked();"/>
 
<script type="text/javascript">
function buttonClicked(){
    var text = (this === window) ? &#39;window&#39; : this.id;
    alert( text );
}
var button1 = document.getElementById(&#39;btn1&#39;);
var button2 = document.getElementById(&#39;btn2&#39;);
 
button1.onclick = buttonClicked;
button2.onclick = function(){   buttonClicked();   };
</script>

Cliquez sur le premier Le bouton s'affichera "btn" car il s'agit d'un appel de méthode et c'est l'objet auquel il appartient (l'élément bouton). Cliquer sur le deuxième bouton affichera "window" car buttonClicked est appelé directement (contrairement à obj.buttonClicked().) C'est la même chose. comme notre troisième bouton, qui place la fonction de gestionnaire d'événements directement dans l'étiquette. Ainsi, le résultat du clic sur le troisième bouton est le même que sur le deuxième

L'utilisation d'une bibliothèque JS comme jQuery a cet avantage, c'est que lorsque. une fonction de gestion d'événements est définie dans jQuery, la bibliothèque JS aidera à réécrire la valeur de celle-ci pour garantir qu'elle contient une référence à l'élément source d'événement actuel,

//使用jQuery
$(&#39;#btn1&#39;).click( function() {
    alert( this.id ); // jQuery ensures &#39;this&#39; will be the button
});

liés Recommandations d'apprentissage gratuites :

tutoriel vidéo 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!

Déclaration:
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