La fonction de mot-clé est utilisée pour définir une fonction.
La copie de code est la suivante:
// Définition déclarative de la fonction:
fonction funcname ([arg1 [, args [..., argn]]]) {
affirmations
}
// Définition de l'expression de la fonction:
var funcname = function ([arg1 [, args [..., argn]]]) {
affirmations
};
Notez que les accolades bouclées dans les instructions de fonction sont nécessaires, même si le corps de fonction ne contient qu'une seule instruction.
Dans JavaScript, les fonctions sont des instances spécifiques de la classe de fonctions. Et ils ont tous des propriétés et des méthodes comme d'autres types de référence.
Le nom de la fonction est en fait un pointeur vers l'objet de fonction, et la fonction peut être utilisée comme paramètre pour participer à la valeur de transfert et de retour des paramètres.
Propriétés d'objet des fonctions
Parce qu'une fonction est une instance d'une fonction, le nom de fonction n'est qu'une adresse de référence de cette instance. Par conséquent, il peut être utilisé comme paramètres et valeurs de retour dans le processus de transfert de paramètres de la fonction.
La copie de code est la suivante:
fonction call_some_function (some_function, some_argument) {
return some_function (some_argument);
}
fonction add_10 (num) {
retour num + 10;
}
console.log (call_some_function (add_10,20)); // 30
Propriétés internes d'une fonction
Arguments | ce
• L'objet d'arguments contient des paramètres transmis à la fonction
• arguments.Length renvoie le nombre de paramètres entrants
• Remarque: l'attribut de longueur représente le nombre de paramètres reçus par défaut lorsque la fonction est définie. Arguments.Length représente le nombre de paramètres reçus lorsque la fonction est réellement exécutée.
La copie de code est la suivante:
fonction test_arguments () {
if (arguments.length == 2) {
console.log (arguments.length);
console.log (arguments);
} autre {
console.log (arguments.length);
console.log (arguments);
arguments.Callee (4, 5);
};
} (1, 2, 3)
/ **
3
{'0': 1, '1': 2, '2': 3}
2
{'0': 4, '1': 5}
** /
• arguments.callee () est principalement utilisé dans la situation où la fonction elle-même est appelée dans des fonctions récursives. La différence entre JS et d'autres langues est que le nom de la fonction n'est qu'un pointeur et peut être modifié à tout moment. Le nom de la fonction dans la fonction est hautement couplé, ce qui peut causer des problèmes, et l'appel aux arguments.Callee () lui-même évitera ce problème.
La copie de code est la suivante:
fonction factorielle (num) {
if (num <= 1) {
retour 1;
} autre {
retour num * factoriel (num - 1);
};
}
fonction callee_f (num) {
if (num <= 1) {
retour 1;
} autre {
retour num * arguments.callee (num - 1);
};
}
factoriel (10); // fonctionne normal
f = factoriel;
factoriel = null;
f (10); //erreur
CALLEE_F (10); // fonctionne normalement
f = callee_f;
callee_f = null;
f (10); // fonctionne normal
• Ceci est principalement utilisé pour aider les fonctions se référer à des objets dans la portée de la fonction.
La copie de code est la suivante:
var color = 'rouge';
fonction syacolor () {
console.log (this.color);
}
syacolor (); //rouge
var o = nouvel objet ();
O.Color = 'Blue';
O.SayColor = SayColor;
O.SayColor (); //bleu
appel () et appliquer ()
call () et appliquer () sont leurs propres méthodes que chaque fonction contient. Il a été mentionné précédemment que les fonctions sont des objets définis, donc lors des fonctions d'appel, cela dans la fonction est un appel aux variables actuelles et inférieures. Si vous souhaitez modifier l'espace de domaine où la fonction est exécutée, vous pouvez utiliser Call () et appliquer () pour l'implémenter.
La copie de code est la suivante:
color = 'rouge';
var o = {couleur: 'bleu'};
Fonction saitColor () {
console.log (this.color);
}
SayColor (); //rouge
SayColor.Call (this); //rouge
SayColor.Call (o); //bleu
Les fonctions d'App () et Call () sont les mêmes, et la différence est principalement la différence dans les paramètres entrants.
Appelez (ceci, para1, prar2, prar3) Le premier paramètre est la portée de la fonction à exécuter. Le paramètre suivant est le paramètre d'entrée de la fonction, et il y a tellement de fois en séquence.
Appliquer (ceci, [para1, para2, prara3]) Le premier paramètre est également la portée de la fonction à exécuter, suivie d'un objet de tableau de tableau.
Le plus grand avantage de l'utilisation de l'appel () / appliquer () pour étendre la portée est le découplage des objets et des méthodes.
Objets intégrés
Les objets globaux peuvent être compris comme l'objet le plus extérieur, tous les objets, ainsi que les attributs et les méthodes qui n'appartiennent pas à d'autres objets sont inclus dans l'objet global.
* Isnan (x) est utilisé pour vérifier si le paramètre x est un nombre. Si false est renvoyé pour un nombre, renvoyez True Sinon
* isfinite (x) est utilisé pour vérifier si le paramètre x est infini / petit. S'il est infini / petit, il renvoie vrai.
* Parseint (x) est utilisé pour analyser les cordes et retourner les entiers
* parsefloat (x) est utilisé pour analyser les cordes et retourner les numéros de point flottants
* Encodeuri () et EncodeuRIComponent () effectueront un codage spécial UTF-8 sur la chaîne, en évitant certains caractères spéciaux pour que le navigateur comprenne. La principale différence entre eux est que Encodeuri () n'encode pas des caractères spéciaux qui appartiennent à l'URI, tandis que EncodeuRIComponent () code tous les caractères non standard qu'il trouve.
La copie de code est la suivante:
var uri = "http://www.wrox.com/illegal value.htm # start";
//http://www.wrox.com/illegal%20value.htm#start
console.log (encodéuri (URI))
//HTTP%3A%2F%2FWWW.wrox.com%2Fillegal%20Value.htm%23Start
Console.log (EncodeuriComponent (URI))
• Les fonctions de décodage correspondantes sont du décodéuri () et du décocomposant ()
• EVAL (Script) est utilisé pour exécuter le contenu du script dans l'interprète et renvoyer le résultat correspondant. Très puissant!
Remarque: Dans le navigateur, les objets Windows résument les objets globaux et entreprennent beaucoup de tâches et de fonctions supplémentaires.
L'objet mathématique est un autre objet intégré. Fournit des fonctions de calcul mathématique pour JavaScript.
Ce qui précède concerne cet article. J'espère que vous l'aimez et cela vous sera utile.