Les exemples de cet article décrivent des méthodes et des méthodes anonymes en Javascript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Méthode Javascript (fonction)
Fonction de déclaration
Commence par function, suivi du nom de la fonction. Contrairement à C# et Java, Javascript n'a pas besoin de déclarer le type de valeur de retour et le type de paramètre. Aucune valeur de retour n'est indéfinie.
Un exemple permettra d'y voir plus clair :
Méthode sans paramètres et sans valeur de retour :
function f1(){ alert('这是一个方法'); } f1();//调用方法
Méthodes sans paramètres ni valeurs de retour :
function f2(){ return 100; } var result=f2();//声明一个变量,接收f1()中的返回值 alert(result);//100
Méthodes avec paramètres et valeurs de retour :
function f3(n1,n2){ return n1+n2; } var result=f3(20,30); alert(result);//50
Remarque 1 :
Regardez d'abord l'exemple :
function f1(){ alert('这是一个方法'); } alert(f1());//弹出”这是一个方法”后,还会显示undefined
Raison : En js, si une variable n'a pas de valeur, elle n'est pas définie ; dans ce cas, f1() n'a pas de valeur de retour, c'est donc une valeur inconnue (indéfinie). La variable inconnue ici est mise dans. alert(), et bien sûr le pop-up n'est pas défini
.Remarque 2 :
alert(f1);//不写括号,会将f1整个代码以字符串形式显示出来: function f1(){ alert('这是一个方法'); }
Il n'y a pas de surcharge de méthode en JavaScript
Appelez uniquement la dernière méthode définie :
function f1(n1,n2){ alert(n1+n2); } function f1(n1,n2){ alert(n1-n2); } f1(10,2);//8
Conclusion : peu importe où elle est appelée, seule la dernière méthode définie est appelée.
Remarque : Nombre non défini = non défini
function f1(n1,n2,n3){ alert(n1-n2+n3); } f1(10,2); //NaN,因为没有给n3传值,n3就是undefined, //数字加上undefined还是undefined
La conclusion ci-dessus : il n'y a pas de surcharge de méthode en Javascript
Remarque lors de la définition des méthodes :
Ne pas avoir le même nom de fonction personnalisée que la méthode intégrée :
N'utilisez pas le même nom que les méthodes intégrées dans JS ou DOM. Par exemple, n'utilisez pas de noms de fonction tels que selectAll et focus.
N'a pas le même nom que la fonction système. (Il y a un problème lors de l’appel de votre propre méthode focus définie dans un événement de clic. Elle porte le même nom que la méthode focus() du système)
Note sur les parenthèses des règles d'écriture :
Généralement, lors de l'écriture d'accolades en js, elles sont directement suivies de
function f1(){ return { age:100}; } var s=f1(); alert(s.age); //undefined。s结果是undefined,undefined.age必然还是undefined
Méthode anonyme (beaucoup utilisée)
Pourquoi est-il recommandé d'utiliser la méthode anonyme ?
1. Il existe une méthode function aa(){alert{'Je suis plutôt beau'}} dans 1.js
2. Il existe une méthode function aa(){alert{'Je deviens de plus en plus beau'}} dans 2.js
3. Importez 1.js et 2.js dans index.html dans l'ordre et appelez aa(); le résultat montre : je deviens de plus en plus beau.
Conclusion : La méthode aa() dans 2.js remplacera la méthode aa() dans 1.js
Que faire ? Ne spécifiez plus le nom de la méthode, utilisez la méthode anonyme
Regardons d'abord un exemple d'affectation de méthodes anonymes à des variables :
var ff=function(n1,n2){ return n1+n2; }; alert(ff(20,30));//50
Écrivez la méthode anonyme sur une seule ligne :
Petit boitier : 1 :
var x=1; var y=0; var z=0; var add=function (n){n=n+1;return n}; y=add(x);//结果是2,先调用上面add add=function(n){n=n+3;return n;}; z=add(x);//结果是4,调用上面临近的这个add alert(y+','+z);//2,4
Petite valise 2 :
function aa() { alert("aaa"); return function(){alert("bbb");}; } alert(aa);//不写括号,会将aa方法的整个代码显示出来 alert(aa());//aaa,function(){alert("bbb");}; aaa就不解释了,后面那一串是作为aa()的返回值显示 alert(aa()());//aaa,bbb,undefined //下面分解上面这句进行解释 var s=aa();//aaa alert(s());//s()就是function(){alert("bbb");};首先弹出bbb,其次该方法没有返回值,故弹出undefined
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.