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

Interprétation détaillée de la fonction Function en javascript (tutoriel détaillé)

亚连
Libérer: 2018-06-22 18:33:40
original
1480 Les gens l'ont consulté

L'éditeur vous propose un contenu pédagogique de base sur JavaScript, sur la formation et la compréhension des fonctions Function, apprenons ensemble.

La fonction Function est la base de JavaScript et un point de bascule pour réaliser des fonctions. Grâce à des exemples d'analyse, nous vous donnerons une compréhension plus approfondie de la fonction Function et expliquerons son utilisation pratique.

La fonction est en effet un objet. Et toute fonction que nous définissons est en fait une instance de l'objet Function, ce qui peut également être compris comme pointant vers une instance de l'objet Function

Puisqu'il s'agit d'une instance de l'objet Function. une instance de l'instance d'objet, elle doit pointer vers une référence de type Function puisqu'elle pointe vers une adresse mémoire d'un type référence, vous pouvez aussi simplement comprendre la fonction que nous avons définie comme une variable, qui pointe vers une adresse d'un objet. type de référence. Cette adresse pointe vers une instance de l'objet Function

Puisque la fonction que nous avons définie est en fait une variable, cette adresse d'instance de fonction peut pointer vers plusieurs variables en même temps

. Regardez le code suivant :

var add = new Function("n", "m", "return n + m");

Ce qui précède est la définition de fonction standard, qui appelle le constructeur de l'objet Function. Ce constructeur Les N premiers paramètres sont par défaut les paramètres de la nouvelle fonction, jusqu'à ce que le dernier paramètre soit considéré comme le corps de la nouvelle fonction

D'après l'instruction ci-dessus, il. est très intuitif de voir que la variable add pointe vers un exemple de type de fonction, mais cette méthode de dénomination est très lourde, équivalente à :

(1) Expression de fonction

var add=function(n,m){
return n+m;
}
Copier après la connexion

(2) Déclaration de fonction

function add(n,m){
return n+m;
}
Copier après la connexion

En raison de La déclaration en langage JavaScript est avancée, la première édition préconise donc d'utiliser la deuxième méthode pour définir les fonctions. Il existe un article séparé sur la déclaration de fonction à l'avance

. Mais la première méthode de définition permet de voir très intuitivement que add est une variable A pointant vers une instance de fonction

Puisqu'il s'agit d'une variable, elle peut être affectée à d'autres variables, passées en paramètre dans la fonction. , ou renvoyé par la fonction.

Donc var add2=add3 =add; Maintenant, les trois variables pointent vers la référence de cette instance, maintenant add=null À l'avenir, les deux fonctions add2 et add3 pourront être utilisé sans être affecté, car ajoutez des points à la référence de null après avoir supprimé la référence de l'objet fonction. Par conséquent, cela n'affecte pas du tout les fonctions add2 et add3.

La fonction peut donc être transmise en tant que fonction. paramètre d'autres fonctions.

Ainsi, la fonction peut être renvoyée comme valeur de retour de la fonction.

Parce que le nom de la fonction est juste une variable pointant vers l'instance de la fonction, il n'y aura donc pas surcharge de fonctions en JavaScript, car la même variable pointe vers la même adresse de référence. En fin de compte, elle représente toujours la même fonction

Puisque les fonctions sont des instances d'objets, alors il devrait y avoir des attributs et des méthodes. les fonctions en JavaScript ont des attributs et des méthodes.

Les quatre attributs les plus importants sont les arguments, this, length, prototype

arguments Représente le tableau de paramètres de la fonction actuelle. a également un attribut appelé appelé. L'attribut

arguments.callee enregistre un pointeur, qui pointe vers l'entité de fonction avec cet attribut arguments (c'est-à-dire équivalent au nom de la fonction)

cet attribut est l'environnement actuel, similaire à celui en C#, indiquant le contexte actuel

l'attribut length indique le nombre maximum de paramètres reçus par la fonction actuelle

prototype Indique le prototype de la fonction, ce qui signifie que les méthodes de l'instance d'objet sont entièrement enregistrées. En d'autres termes, toutes les méthodes du prototype sont héritées, par exemple toString() valueOf(), etc.

puis ensuite, prenons un. regardez les types de fonctions de fonction

Fonctions ordinaires : Présentation des caractéristiques des fonctions ordinaires : écrasement avec le même nom, objets arguments, valeurs de retour par défaut, etc.

function ShowName(name) {
 alert(name);
}
Copier après la connexion

Fonctions anonymes : Présentation des caractéristiques des fonctions anonymes : fonctions anonymes variables, fonctions anonymes sans nom.

//变量匿名函数,左侧可以为变量、事件等
var anonymousNormal = function (p1, p2) {
 alert(p1+p2);
}
anonymousNormal(3,6);//输出9
Copier après la connexion

Fonction de fermeture : présente les caractéristiques de la fonction de fermeture.

function funA() {
 var i = 0;
 function funB() { //闭包函数funB
  i++;
  alert(i)
 }
 return funB;
}
var allShowA = funA(); //全局变量引用:累加输出1,2,3,4等
 
function partShowA() {
 var showa = funA();//局部变量引用:只输出1
 showa();
}
Copier après la connexion

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles associés :

Comment implémenter une requête de pagination dans Bootstrap4 + Vue2

Dans webpack, il y a la configuration de l'environnement du plug jquery -in (Tutoriel détaillé)

Comment utiliser keep-alive dans vue2

Comment implémenter le packaging gulp à l'aide de nodejs

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!