??ECMAScript 函數(shù)的參數(shù)與大多數(shù)其他語言中函數(shù)的參數(shù)有所不同滥比。ECMAScript 函數(shù)不介意傳遞進(jìn)來多少個參數(shù)疏叨,也不在乎傳進(jìn)來參數(shù)是什么數(shù)據(jù)類型。也就是說,即便你定義的函數(shù)只接收兩個參數(shù)巩掺,在調(diào)用這個函數(shù)時也未必一定要傳遞兩個參數(shù)∫称瑁可以傳遞一個胖替、三個甚至不傳遞參數(shù),而解析器永遠(yuǎn)不會有什么怨言寇漫。原因是 ECMAScript 中的參數(shù)在內(nèi)部是用一個數(shù)組來表示的刊殉。函數(shù)接收到的始終都是這個數(shù)組,而不關(guān)心數(shù)組中包含哪些參數(shù)(如果有參數(shù)的話)州胳。實際上记焊,在函數(shù)體內(nèi)可以通過 arguments 對象來訪問這個參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的每一個參數(shù)栓撞。在命名參數(shù)方面遍膜,其他語言可能需要事先創(chuàng)建一個函數(shù)簽名,而將來的調(diào)用必須與該簽名一致瓤湘。但在 ECMAScript 中瓢颅,沒有這些條條框框,解析器不會驗證命名參數(shù)弛说。
arguments 對象只是與數(shù)組類似(它并不是 Array 的實例)挽懦。沒有傳遞值的命名參數(shù)將自動被賦予 undefined 值。這就跟定義了變量但又沒有初始化一樣木人。
??ECMAScript 函數(shù)不能像傳統(tǒng)意義上那樣實現(xiàn)重載信柿。而在其他語言(如 Java)中,可以為一個函數(shù)編寫兩個定義醒第,只要這兩個定義的簽名(接受的參數(shù)的類型和數(shù)量)不同即可渔嚷。如前所述,ECMAScirpt函數(shù)沒有簽名稠曼,因為其參數(shù)是由包含零或多個值的數(shù)組來表示的形病。而沒有函數(shù)簽名,真正的重載是不可能做到的霞幅。
與其他語言不同漠吻,ECMScript 沒有為整數(shù)和浮點數(shù)值分別定義不同的數(shù)據(jù)類型,Number 類型可用于表示所有數(shù)值司恳。
高程三第三章之理解參數(shù)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門鹏往,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淡诗,“玉大人,你說我怎么就攤上這事伊履『荩” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵唐瀑,是天一觀的道長群凶。 經(jīng)常有香客問我,道長哄辣,這世上最難降的妖魔是什么请梢? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮力穗,結(jié)果婚禮上毅弧,老公的妹妹穿的比我還像新娘。我一直安慰自己当窗,他們只是感情好够坐,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著崖面,像睡著了一般元咙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嘶朱,一...
- 文/蒼蘭香墨 我猛地睜開眼唱遭,長吁一口氣:“原來是場噩夢啊……” “哼戳寸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拷泽,我...
- 正文 年R本政府宣布伟葫,位于F島的核電站,受9級特大地震影響谷浅,放射性物質(zhì)發(fā)生泄漏扒俯。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一一疯、第九天 我趴在偏房一處隱蔽的房頂上張望撼玄。 院中可真熱鬧,春花似錦墩邀、人聲如沸掌猛。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽荔茬。三九已至,卻和暖如春竹海,著一層夾襖步出監(jiān)牢的瞬間慕蔚,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- { "Unterminated string literal.": "未終止的字符串文本鸠匀。", "Identifi...
- { "Unterminated string literal.": "未終止的字符串文本逾柿。", "Identifi...
- 這是牛牛的Annie第90篇原創(chuàng)文章,感恩你的點擊睦柴。也希望我的文字诽凌,能讓你發(fā)掘出一些本屬于你自己,心靈深處的思考 ...