最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

Javascript面向?qū)ο笾剌d_js面向?qū)ο?/h1>
來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:49:02
文檔

Javascript面向?qū)ο笾剌d_js面向?qū)ο?/h4>
Javascript面向?qū)ο笾剌d_js面向?qū)ο?上幾節(jié)講了 JavaScript 面向?qū)ο笾臻g 、 javascript 面向?qū)ο蟮腏avaScript類 與 JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員 ,大家可以先看上面的再繼續(xù)往下看。假如 我這樣定義: 代碼如下: function getDate(){.....} f
推薦度:

導(dǎo)讀Javascript面向?qū)ο笾剌d_js面向?qū)ο?上幾節(jié)講了 JavaScript 面向?qū)ο笾臻g 、 javascript 面向?qū)ο蟮腏avaScript類 與 JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員 ,大家可以先看上面的再繼續(xù)往下看。假如 我這樣定義: 代碼如下: function getDate(){.....} f

上幾節(jié)講了 JavaScript 面向?qū)ο笾臻g 、 javascript 面向?qū)ο蟮腏avaScript類 與 JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員 ,大家可以先看上面的再繼續(xù)往下看。


假如 我這樣定義:
代碼如下:
function getDate(){.....}
function getDate(date){.....}

那么后一個方法將覆蓋前一個,雖然不報錯。

但是我們確實是可以實現(xiàn)重載的,如果你用過jQuery,你就會深有體會,比如$("#btn").val() 是獲取id為"btn"的按鈕的value值,而$("#btn").val("點我")則是給id為"btn"的按鈕賦值。


那么JavaScript是怎么實現(xiàn)(準確地講應(yīng)該叫“模擬”)的呢?。
答案很簡單:arguments
arguments是JavaScript里的一個內(nèi)置對象,包含了調(diào)用者傳遞的實際參數(shù),但不局限于函數(shù)聲明所定義的參數(shù)列表,而調(diào)用時只它和數(shù)組一樣有個length屬性?!?
   我們暫且把它當“數(shù)組”來理解吧,我們根據(jù)該數(shù)組的長度以及其元素的類型來選擇不同的實現(xiàn),從而模擬了重載?!?
   具體請看下面的示例:

代碼如下:
function getDate(){
if(arguments.length==0){
var date=new Date().toLocaleDateString();
return "您沒有輸入?yún)?shù),現(xiàn)在時間:"+date ;
}

if(arguments.length==1){
if(arguments[0].constructor ==Date){
return "您輸入的參數(shù)是Date類型,現(xiàn)在時間是:"+arguments[0].toDateString();
}
if(arguments[0].constructor ==String){
return "您輸入的參數(shù)是String類型,現(xiàn)在時間是:"+arguments[0];
}
}

}

于是我們可以這樣調(diào)用:
代碼如下:
getDate()
getDate(new Date())
getDate("星期一")

這樣就實現(xiàn)了JavaScript的重載,不過我們發(fā)現(xiàn)這樣的“實現(xiàn)”實在是太勉強了,如果參數(shù)多了,就會顯得力不從心,代碼也會很亂,到處是if{...} 。所以我不建議在JavaScript中使用這樣的重載。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Javascript面向?qū)ο笾剌d_js面向?qū)ο?/h4>
Javascript面向?qū)ο笾剌d_js面向?qū)ο?上幾節(jié)講了 JavaScript 面向?qū)ο笾臻g 、 javascript 面向?qū)ο蟮腏avaScript類 與 JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員 ,大家可以先看上面的再繼續(xù)往下看。假如 我這樣定義: 代碼如下: function getDate(){.....} f
推薦度:

標簽: js 對象 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top