ECMAScript函數(shù)不能像傳統(tǒng)意義上那樣實(shí)現(xiàn)重載。而在其他語(yǔ)言(如Java)中,可以為一個(gè)函數(shù)編寫兩個(gè)定義,只要這兩個(gè)定義的簽名(接受的參數(shù)的類型和數(shù)量)不同即可。如前所述,ECMAScirpt函數(shù)沒(méi)有簽名,因?yàn)槠鋮?shù)是由包含零或多個(gè)值的數(shù)組來(lái)表示的。而沒(méi)有函數(shù)簽名,真正的重載是不可能做到的。
如果在ECMAScript中定義了兩個(gè)名字相同的函數(shù),則該名字只屬于后定義的函數(shù)。請(qǐng)看下面的例子:
function addSomeNumber (num){
return num+100;
}
function addSomeNumber (num) {
return nu_m+200;
}
var result=addSomeNumber (100); //300
alert(result);
在此,南昌網(wǎng)站制作公司提示,函數(shù)addSomeNurnber()被定義了兩次。第一個(gè)版本給參數(shù)加100,而第二個(gè)版本給參數(shù)加200。由于后定義的函數(shù)覆蓋了先定義的函數(shù),因此當(dāng)在最后一行代碼中調(diào)用這個(gè)函數(shù)時(shí),返回的結(jié)果就是300。 如前所述,通過(guò)檢查傳人函數(shù)中參數(shù)的類型和數(shù)量并作出不同的反應(yīng),可以模仿方法的重載。 南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)前端開(kāi)發(fā)工程師小結(jié):
JavaScript的核心語(yǔ)言特性在ECMA-262中是以名為ECMAScript的偽語(yǔ)言的形式來(lái)定義的。ECMAScript中包含了所有基本的語(yǔ)法、操作符、數(shù)據(jù)類型以及完成基本的計(jì)算任務(wù)所必需的對(duì)象,但沒(méi)有對(duì)取得輸入和產(chǎn)生輸出的機(jī)制作出規(guī)定。理解ECMAScript及其紛繁復(fù)雜的各種細(xì)節(jié),是理解其在Web瀏覽器中的實(shí)現(xiàn)-JavaScript的關(guān)鍵。目前大多數(shù)實(shí)現(xiàn)所遵循的都是ECMA-262第3版中定義的ECMAScript。以下簡(jiǎn)要總結(jié)了ECMAscript中基本的要素:
◎ECMAScript中的基本數(shù)據(jù)類型包括Undefined. Null. Boolean、Number和String;
◎與其他語(yǔ)言不同,ECMScript沒(méi)有為整數(shù)和浮點(diǎn)數(shù)值分別定義不同的數(shù)據(jù)類型,Number類型可用于表示所有數(shù)值;
◎ECMAScript中也有一種復(fù)雜的數(shù)據(jù)類型,即Object類型,該類型是這門語(yǔ)言中所有對(duì)象的基礎(chǔ)類型;
◎ECMAScript提供了很多與c及其他類c語(yǔ)言中相同的基本操作符,包括算術(shù)操作符、布爾操作符、關(guān)系操作符、相等操作符及賦值操作符等;
◎ECMAScript從其他語(yǔ)言中借鑒了很多流控制語(yǔ)句,例如if語(yǔ)句、for語(yǔ)句和switch語(yǔ)句等。ECMAScript中的函數(shù)與其他語(yǔ)言中的函數(shù)有諸多不同之處。
◎無(wú)須指定函數(shù)的返回值,因?yàn)槿魏蜤CMAScript函數(shù)都可以在任何時(shí)候返回任何值。
◎?qū)嶋H上,未指定返回值的函數(shù)返回的是一個(gè)特殊的undefined值。ECMAScript中也沒(méi)有函數(shù)簽名的概念,因?yàn)槠浜瘮?shù)參數(shù)是以一個(gè)包含零或多個(gè)值的數(shù)組的形式傳遞的。
◎可以向ECMAScript函數(shù)傳遞任意數(shù)量的參數(shù),并且可以通過(guò)arguments對(duì)象來(lái)訪問(wèn)這些參數(shù)。
◎由于不存在函數(shù)簽名的特性,ECMAScript函數(shù)不能重載。
希望本文對(duì)廣大站長(zhǎng)或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌做網(wǎng)站公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長(zhǎng)和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。