Maison  >  Article  >  interface Web  >  Compréhension et combinaison pratique des fonctions JavaScript_Connaissances de base

Compréhension et combinaison pratique des fonctions JavaScript_Connaissances de base

韦小宝
韦小宝original
2017-12-04 13:58:071354parcourir

L'éditeur vous propose un contenu pédagogique de base sur javascript, sur la formation et la compréhension de la fonction Function en javascript, si vous êtes intéressé par javascript Étudions ensemble avec nos camarades de classe.

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 définit par défaut les N premiers paramètres sur les paramètres de la nouvelle fonction , jusqu'à ce que le dernier paramètre soit considéré comme le corps de la nouvelle fonction.

est très intuitif à partir de l'instruction ci-dessus. Vous pouvez voir que la variable add pointe vers une instance de type Function, mais cette méthode de dénomination est très lourde et équivaut à :

(1)Expression de fonction


var add=function(n,m){
return n+m;
}


(2) Déclaration de fonction


function add(n,m){
return n+m;
}


En raison de la déclaration anticipée en langage JavaScript, la première édition préconise l'utilisation de la deuxième méthode pour définir les fonctions. Il existe un article séparé sur la déclaration préalable des fonctions

.

Mais la première méthode de définition est très intuitive. Ajouter une variable 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 à null après avoir supprimé la référence à l'objet fonction Référence Cela n'affecte donc pas du tout les fonctions add2 et add3

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

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

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

Puisqu'une fonction est une instance d'un objet, elle. devrait avoir des attributs et des méthodes. Par conséquent, les fonctions en JavaScript ont des attributs et des méthodes

Les quatre arguments d'attributs les plus importants, this, length, prototype

représentent le tableau de paramètres de la fonction actuelle. Cette propriété est très spéciale. Elle possède également une propriété appelée appelé. La propriété

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

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

L'attribut length indique que la fonction actuelle reçoit le nombre maximum de paramètres.

le prototype représente 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.

<.>Ensuite, examinons les types de fonctions de fonction

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



function ShowName(name) {
 alert(name);
}



Fonction anonyme

 : Présentation de l'anonymat Caractéristiques des fonctions : fonctions anonymes variables, fonctions anonymes sans nom.


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



Fonction de fermeture : Présenter 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();
}


Recommandations associées :

Explication du passage par valeur pour les paramètres de la fonction js

À propos de la compréhension de cela dans les fonctions js

Compréhension approfondie des fonctions JS Utilisation des paramètres

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