Maison > interface Web > js tutoriel > Une brève discussion sur les propriétés internes des fonctions JavaScript_Connaissances de base

Une brève discussion sur les propriétés internes des fonctions JavaScript_Connaissances de base

WBOY
Libérer: 2016-05-16 16:18:45
original
956 Les gens l'ont consulté

Il y a deux attributs spéciaux à l'intérieur de la fonction : les arguments et ceci. arguments est un objet de type tableau contenant tous les paramètres transmis,
Mais cet objet possède également un attribut appelé appelé, qui est un pointeur vers la fonction propriétaire de l'objet arguments.

Veuillez regarder l'exemple classique de la fonction factorielle :

Copier le code Le code est le suivant :

fonction Factorielle(num) {
Si (num <= 1) {
Retour 1 ;
               } autre {
Renvoie num * Factorial(num - 1);
            }
>
fonction Factorielle(num) {
Si (num <= 1) {
Retour 1 ;
               } autre {
Renvoie num * arguments.callee(num - 1);
            }
>

Il n'y a rien de mal à utiliser la première méthode, mais le couplage est trop élevé, ce qui n'est pas bon. Une fois le nom de la fonction modifié, le nom de la fonction interne doit également changer
. La deuxième méthode est un faible couplage. Quelle que soit la façon dont le nom de la fonction change, cela n'affectera pas l'exécution de la fonction.

Il s'agit de l'objet d'environnement dans lequel les données de la fonction sont exécutées, ou on peut également dire qu'il s'agit de cette valeur

Copier le code Le code est le suivant :

          window.color = "rouge";
      var o = {couleur : "bleu"};
fonction sayColor() {
alerte(this.color);
>
         sayColor();//red
o.sayColor = sayColor;
o.sayColor();//bleu

L'attribut caller contient la référence de la fonction qui appelle la fonction actuelle. Si la fonction actuelle est appelée dans la portée globale, sa valeur est Null

.

Copier le code Le code est le suivant :

fonction externe() {
interne();
>
         fonction interne(){
                   //alert(innter.caller);//Le couplage est trop élevé
alert(arguments.callee.caller);
>
        externe();

Ce qui précède est tout le contenu des propriétés internes des fonctions javascript. J'espère que vous l'aimerez

É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