摘要:因?yàn)橹械膮?shù)在內(nèi)部是用一個(gè)數(shù)組來表示的。實(shí)際上,在函數(shù)體內(nèi)通過對(duì)象來訪問這個(gè)參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的每一個(gè)參數(shù)。雖然這個(gè)特性算不上完美的重載,但也足夠彌補(bǔ)這一缺憾了。
JS function重寫方式
我們知道正常function的格式是:
function functionName(arg0,arg1,.....,argN){ statements } function sayHi(name,message){ alert("hello" + name + message) }
其實(shí)ECMAScript函數(shù)是不介意傳遞進(jìn)來多少個(gè)參數(shù),也不在乎傳進(jìn)來參數(shù)是什么數(shù)據(jù)類型的。因?yàn)镋CMAScript中的參數(shù)在內(nèi)部是用一個(gè)數(shù)組來表示的。函數(shù)只是接受這個(gè)數(shù)組,而不關(guān)心數(shù)組中包含哪些參數(shù)。實(shí)際上,在函數(shù)體內(nèi)通過arguments對(duì)象來訪問這個(gè)參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的每一個(gè)參數(shù)。
其實(shí),arguments對(duì)象只是與數(shù)組類似(它并不是Array的實(shí)例),因?yàn)榭梢允褂梅嚼ㄌ?hào)語(yǔ)法訪問它的每一個(gè)元素(第一個(gè)元素是arguments[0],第二個(gè)元素是arguments[1]),使用length屬性來確定有多少個(gè)參數(shù)。所以上面的那個(gè)函數(shù)也可以這樣來重寫:
function sayHi(){ alert("hello" + arguments[0] + arguments[1]) }
這樣重寫后function不包含參數(shù),但function的功能還是一樣的。雖然這個(gè)特性算不上完美的重載,但也足夠彌補(bǔ)ECMAScript這一缺憾了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101798.html
摘要:然而,雖然先生對(duì)無(wú)所不知,被譽(yù)為世界的愛因斯坦,但他的語(yǔ)言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來,說明你是真心想學(xué)好JavaScript的。你沒有想錯(cuò),當(dāng)今如果要開發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...
摘要:因此,所有在方法中定義的變量都是放在棧內(nèi)存中的當(dāng)我們?cè)诔绦蛑袆?chuàng)建一個(gè)對(duì)象時(shí),這個(gè)對(duì)象將被保存到運(yùn)行時(shí)數(shù)據(jù)區(qū)中,以便反復(fù)利用因?yàn)閷?duì)象的創(chuàng)建成本通常較大,這個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū)就是堆內(nèi)存。 上一篇:《javascript高級(jí)程序設(shè)計(jì)》筆記:繼承近幾篇博客都會(huì)圍繞著圖中的知識(shí)點(diǎn)展開 showImg(https://segmentfault.com/img/bVY0C4?w=1330&h=618);...
摘要:原文鏈接恰當(dāng)?shù)貙W(xué)習(xí)適合第一次編程和非的程序員持續(xù)時(shí)間到周前提無(wú)需編程經(jīng)驗(yàn)繼續(xù)下面的課程。如果你沒有足夠的時(shí)間在周內(nèi)完成全部的章節(jié),學(xué)習(xí)時(shí)間盡力不要超過周。你還不是一個(gè)絕地武士,必須持續(xù)使用你最新學(xué)到的知識(shí)和技能,盡可能地經(jīng)常持續(xù)學(xué)習(xí)和提高。 原文鏈接:How to Learn JavaScript Properly 恰當(dāng)?shù)貙W(xué)習(xí) JavaScript (適合第一次編程和非 JavaSc...
摘要:由于計(jì)算機(jī)的國(guó)際化,組織的標(biāo)準(zhǔn)牽涉到很多其他國(guó)家,因此組織決定改名表明其國(guó)際性。規(guī)范由萬(wàn)維網(wǎng)聯(lián)盟制定。級(jí)標(biāo)準(zhǔn)級(jí)標(biāo)準(zhǔn)是不存在的,級(jí)一般指的是最初支持的。 這篇筆記的內(nèi)容對(duì)應(yīng)的是《JavaScript高級(jí)程序設(shè)計(jì)(第三版)》中的第一章。 1.ECMA 和 ECMA-262 ECMA 是歐洲計(jì)算機(jī)制造商協(xié)會(huì)的縮寫,全程是 European Computer Manufacturers Ass...
摘要:和的定義是指多少時(shí)間之后將回調(diào)函數(shù)加入到的執(zhí)行隊(duì)列之中回調(diào)函數(shù)是否立即執(zhí)行取決于當(dāng)前的執(zhí)行隊(duì)列是否空閑。比較好的例子如下回調(diào)函數(shù)執(zhí)行其他操作假如內(nèi)部的執(zhí)行時(shí)間為那么的回調(diào)函數(shù)至少要等待才執(zhí)行。 1、惰性加載函數(shù) (判斷各個(gè)瀏覽器中是否支持某個(gè)屬性) function addEvent(elem, type, handler){ if(elem.addEventListener...
摘要:用于把對(duì)象序列化字符串,在序列化對(duì)象時(shí),所有函數(shù)及原型成員都會(huì)被有意忽略,不體現(xiàn)在結(jié)果中。對(duì)第步返回的每個(gè)值進(jìn)行相應(yīng)的序列化。參考文檔高級(jí)程序設(shè)計(jì)作者以樂之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVburW1?w=658&h=494); JSON與JavaScript對(duì)象 JSON是一種表示結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)格式,語(yǔ)...
閱讀 2608·2023-04-25 19:31
閱讀 2331·2021-11-04 16:11
閱讀 2887·2021-10-08 10:05
閱讀 1598·2021-09-30 09:48
閱讀 2426·2019-08-30 15:56
閱讀 2478·2019-08-30 15:56
閱讀 2237·2019-08-30 15:53
閱讀 2344·2019-08-30 15:44