麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

Javascript中的方法和匿名方法實例詳解

2024-05-06 16:22:28
字體:
供稿:網(wǎng)友

這篇文章主要介紹了Javascript中的方法和匿名方法,以實例形式較為詳細(xì)的分析了javascript中方法及匿名方法的定義與使用技巧,需要的朋友可以參考下

本文實例講述了Javascript中的方法和匿名方法。分享給大家供大家參考。具體分析如下:

Javascript方法(函數(shù))

聲明函數(shù)

以function開頭,后跟函數(shù)名,與C#、java不同,Javascript不需要聲明返回值類型、參數(shù)類型。沒有返回值就是undefined。

舉個例子更清楚:

無參數(shù)無返回值的方法:

 

 
  1. function f1(){ 
  2. alert('這是一個方法'); 
  3. f1();//調(diào)用方法  

無參數(shù)有返回值的方法:

 

 
  1. function f2(){ 
  2. return 100; 
  3. var result=f2();//聲明一個變量,接收f1()中的返回值 
  4. alert(result);//100  

有參數(shù)有返回值的方法:

 

 
  1. function f3(n1,n2){ 
  2. return n1+n2; 
  3. var result=f3(20,30); 
  4. alert(result);//50 

注意1:

先看例子:

 

 
  1. function f1(){ 
  2. alert('這是一個方法');  
  3. alert(f1());//彈出”這是一個方法”后,還會顯示undefined 

原因:js中,變量沒有賦值,就是undefined;該栗中f1()沒有返回值,那么就是一個未知的值(undefined),這里未知的變量放入alert(),當(dāng)然彈出的就是undefined

注意2:

 

 
  1. alert(f1);//不寫括號,會將f1整個代碼以字符串形式顯示出來: 
  2. function f1(){  
  3. alert('這是一個方法');  
  4. }  

JavaScript中沒有方法重載

只調(diào)用最新定義的方法:

 

 
  1. function f1(n1,n2){  
  2. alert(n1+n2);  
  3. }  
  4. function f1(n1,n2){  
  5. alert(n1-n2);  
  6. }  
  7. f1(10,2);//8 

結(jié)論:無論在哪里調(diào)用,都只調(diào)用最新定義的方法。

注意:數(shù)字+undefined=undefined

 

 
  1. function f1(n1,n2,n3){  
  2. alert(n1-n2+n3);  
  3. }  
  4. f1(10,2); 
  5. //NaN,因為沒有給n3傳值,n3就是undefined, 
  6. //數(shù)字加上undefined還是undefined 

以上結(jié)論:Javascript中沒有方法重載

定義方法時注意:

自定義函數(shù)名不要和內(nèi)置方法重名:

不要和js內(nèi)置、dom內(nèi)置方法重名,比如selectAll、focus等函數(shù)名不要用。

不要與系統(tǒng)函數(shù)重名。(在單擊事件中調(diào)用自己定義的focus方法,有問題。與系統(tǒng)的focus()方法重名了)

書寫規(guī)則括號注意:

一般在js中編寫大括號都是直接跟在后面

 

 
  1. function f1(){  
  2. return 
  3. {  
  4. age:100};  
  5. }  
  6. var s=f1();  
  7. alert(s.age); 
  8. //undefined。s結(jié)果是undefined,undefined.age必然還是undefined 

匿名方法(用的非常多)

為什么推薦用匿名方法?

1、有一個1.js中有個方法function aa(){alert{'我挺帥了'}}

2、有一個2.js中有個方法function aa(){alert{'我越來越帥了'}}

3、將1.js和2.js依次導(dǎo)入到index.html中,調(diào)用aa();結(jié)果顯示:我越來越帥了。

結(jié)論:2.js中的aa()方法會覆蓋1.js中的aa()

怎么辦?不再指定方法名,使用匿名方法

先看一個將匿名方法賦給變量例子:

 

 
  1. var ff=function(n1,n2){  
  2. return n1+n2;  
  3. };  
  4. alert(ff(20,30));//50 

一行寫完匿名方法:

代碼如下:
(function (n1,n2){alert(n1+n2);})(9,9);
 

小案例:1:

 

 
  1. var x=1;  
  2. var y=0;  
  3. var z=0;  
  4. var add=function (n){n=n+1;return n};  
  5. y=add(x);//結(jié)果是2,先調(diào)用上面add  
  6. add=function(n){n=n+3;return n;};  
  7. z=add(x);//結(jié)果是4,調(diào)用上面臨近的這個add  
  8. alert(y+','+z);//2,4 

小案例2:

 

 
  1. function aa()  
  2. {  
  3. alert("aaa");  
  4. return function(){alert("bbb");};  
  5. }  
  6. alert(aa);//不寫括號,會將aa方法的整個代碼顯示出來  
  7. alert(aa());//aaa,function(){alert("bbb");}; aaa就不解釋了,后面那一串是作為aa()的返回值顯示  
  8. alert(aa()());//aaa,bbb,undefined  
  9. //下面分解上面這句進行解釋  
  10. var s=aa();//aaa  
  11. alert(s());//s()就是function(){alert("bbb");};首先彈出bbb,其次該方法沒有返回值,故彈出undefined 

希望本文所述對大家的javascript程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: av在线免费观看网 | 成年免费大片黄在线观看岛国 | 日本黄色免费播放 | 男女羞羞在线观看 | 青青草国产在线视频 | 久久色播 | 久久里面有精品 | 成人午夜视频在线观看 | 性aaa | 久久人人爽人人爽人人片av高清 | 黄色一级片在线观看 | 亚洲xxx在线观看 | 免看黄大片aa | 一级电影免费在线观看 | 日本免费中文字幕 | 成年人黄色免费网站 | 午夜精品成人 | 九色p| 中文字幕一区久久 | 国产一级免费在线视频 | 色播视频在线播放 | 午夜在线观看视频网站 | 黄色网址入口 | 亚洲男人的天堂在线视频 | 欧美一级一区二区三区 | 日韩视频一区二区在线观看 | 欧美四级在线观看 | 伊人久久国产精品 | 爱看久久 | 欧美日韩免费一区 | 国产亚洲精品视频中文字幕 | 久久久婷婷 | 1区2区3区在线观看 欧美特黄a | 日本s级毛片免费观看 | 久久亚洲精品视频 | 美女福利视频国产 | 在线看国产视频 | 中文字幕涩涩久久乱小说 | 成人福利在线视频 | www.成人在线 | 91福利免费视频 |