Aujourd'hui, je vais vous apporter 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; }
(2) Déclaration de fonction
function add(n,m){ return n+m; }
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); }
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
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(); }
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Vue.jsAnalyse des étapes de configuration du code du formulaire de connexion
Code de vérification du format de l'adresse e-mail JS
JS utilise la fonction de partage de temps pour optimiser le code
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!