Maison > interface Web > js tutoriel > Explication détaillée des méthodes et des instances de méthodes anonymes dans les compétences Javascript_javascript

Explication détaillée des méthodes et des instances de méthodes anonymes dans les compétences Javascript_javascript

WBOY
Libérer: 2016-05-16 15:55:07
original
1161 Les gens l'ont consulté

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();//调用方法 

Copier après la connexion

Méthodes sans paramètres ni valeurs de retour :

function f2(){
return 100;
}
var result=f2();//声明一个变量,接收f1()中的返回值
alert(result);//100 

Copier après la connexion

Méthodes avec paramètres et valeurs de retour :

function f3(n1,n2){
return n1+n2;
}
var result=f3(20,30);
alert(result);//50

Copier après la connexion

Remarque 1 :

Regardez d'abord l'exemple :

function f1(){
  alert('这是一个方法'); 
}
alert(f1());//弹出”这是一个方法”后,还会显示undefined

Copier après la connexion

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('这是一个方法'); 
} 
Copier après la connexion

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

Copier après la connexion

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

Copier après la connexion

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

Copier après la connexion

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

Copier après la connexion

Écrivez la méthode anonyme sur une seule ligne :

Copier le code Le code est le suivant :
(function (n1,n2){alert(n1 n2);} )(9 ,9);

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

Copier après la connexion

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

Copier après la connexion

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

É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