js中函數(shù)的參數(shù)傳遞是值傳遞還是引用傳遞?怎么判斷參數(shù)的類型? 財(cái)富值8

科技 未結(jié) 9 960
360U2801380819
360U2801380819 2022-09-21 08:22

function initarr(n){ var arr = []; for(var i=0;i<n;i++){ arr[i] = parseFloat(prompt("第"+(i+1)+"個(gè)數(shù)")); } return arr; } function sumAndAvg(arr){ var sum = 0; var avg = 0; for(var i in arr){ sum = sum+arr[i]; } avg = sum/arr.length; document.write("sum = "+sum); document.write("avg = "+avg); }

一個(gè)簡(jiǎn)單的函數(shù),比如我在此刻定義一個(gè)
var a = 10;
sumAndAvg(a);
實(shí)際函數(shù)是想要一個(gè)數(shù)組的參數(shù)的,但是這種情況下怎么判斷穿進(jìn)去的參數(shù)是什么類型?
這樣的設(shè)計(jì)有什么優(yōu)點(diǎn)或者有什么缺點(diǎn)應(yīng)該怎么克服呢?

相關(guān)標(biāo)簽:
9條回答
  • 原生不檢查參數(shù)類型,這是由于js是弱數(shù)據(jù)類型的語言。一般情況下,js作為瀏覽器端的支持的時(shí)候,輸入?yún)?shù)類型是寫代碼的人預(yù)先就想好的了,所以一般不會(huì)出現(xiàn)這種問題。但是如果涉及用戶輸入或者交互產(chǎn)生數(shù)據(jù)的時(shí)候,就有可能會(huì)出現(xiàn)題主的情況。做法就是通過自定義方法判斷數(shù)據(jù)類型之后在進(jìn)行處理。下面是幾個(gè)類型判斷的方法,拋磚引玉:

    0 討論(0)
  • 2022-09-21 09:01

    js無法指定函數(shù)參數(shù)的類型,你如果想限制參數(shù)為array的話,就必須在函數(shù)內(nèi)部判斷 Array.isArray(arr)。

    0 討論(0)
  • 這里的參數(shù)arr后面冒號(hào)部分就是flow.js加的類型約束,這樣我們可以強(qiáng)制調(diào)用的時(shí)候使用數(shù)組。然后運(yùn)行flow做運(yùn)行檢查,就會(huì)提示類型不匹配

    0 討論(0)
  • 2022-09-21 09:05

    這個(gè)是動(dòng)態(tài)類型語言無約束帶來的問題,JS本身無法解決這個(gè)問題,你可以使用微軟出的TypeScript語言,它帶有類型系統(tǒng),編譯結(jié)果是JS。

    0 討論(0)
  • 2022-09-21 09:06

    這樣我們可以在開發(fā)時(shí)檢查類型,在生產(chǎn)環(huán)境下去除。

    0 討論(0)
  • 2022-09-21 09:09

    所以題主這樣就好了:

    0 討論(0)
提交回復(fù)
最新問題
三星電視QN85和海信電視U7G 1
100英寸幕布多長(zhǎng)多寬? 4
輸卵管的檢查疼嗎 1
酷喵客服電話24小時(shí)人工服務(wù)熱線 1
極米play充不進(jìn)電 1
不育好不好治 1
男藍(lán)亞洲杯預(yù)選賽賽程2022 1
得了不孕怎么辦 1
任天堂港區(qū)買的序列碼在哪看 1
分辨率和像素什么關(guān)系? 1
猜你喜歡
第三代試管嬰兒的費(fèi)用_試管費(fèi)用大揭露,您清楚了嗎?
長(zhǎng)沙第三代試管機(jī)構(gòu)怎么選?這家助孕機(jī)構(gòu)連續(xù)3年位居榜首
不孕不育做試管還是考慮治療,附試管價(jià)格表參!
太原第三代試管嬰兒費(fèi)用報(bào)銷嗎,附詳情花費(fèi)明細(xì)!
哈薩克斯坦做試管費(fèi)用多少錢,費(fèi)用一覽表!
2024年單身去格魯吉亞助孕價(jià)格明細(xì)曝光
徐州三代試管公司名單一覽,試管比較好醫(yī)院推薦
吉林第三代試管嬰兒費(fèi)用要花多少錢?三代試管大概費(fèi)用幾萬
成人免疫力低下表現(xiàn),免疫力低下吃什么藥比較好成人?
銀川染色體有問題,附試管費(fèi)用明細(xì)!
熱門文章
“特別關(guān)注”泰國(guó)三代試管嬰兒手續(xù)復(fù)雜嗎?
2025泰國(guó)正規(guī)助孕機(jī)構(gòu)比較有名的是哪些?
廣州三代試管比較好的私立醫(yī)院排名前三
2025年泰國(guó)試管嬰兒醫(yī)院排名前十,排行榜名單公布
關(guān)于未婚高齡做海外試管嬰兒的費(fèi)用大盤點(diǎn)
2025國(guó)內(nèi)私立試管醫(yī)院排行一覽,醫(yī)生告訴你怎么選醫(yī)院
泰國(guó)三代試管嬰兒技術(shù)比國(guó)內(nèi)更好嗎?
泰國(guó)做試管嬰兒成功率高的醫(yī)院是哪家?
泰國(guó)試管嬰兒技術(shù)怎么樣?流程大概要多久?
泰國(guó)曼谷哪家醫(yī)院做試管好?泰國(guó)哪個(gè)醫(yī)院可以做試管?
烏魯木齊助孕公司哪家好?烏魯木齊比較好的不孕醫(yī)院
【解析】上海做試管嬰兒比較好的醫(yī)院排行榜前十
【助孕攻略】烏魯木齊哪家醫(yī)院做試管比較專業(yè)
熱點(diǎn)話題!烏魯木齊助孕機(jī)構(gòu)哪家好?烏魯木齊市生殖助孕醫(yī)院排行榜
“必看資訊”hpv疫苗能預(yù)防多少年?
你知道嗎?大連三代試管機(jī)構(gòu)成功率高低風(fēng)險(xiǎn)
2025男方艾滋病泰國(guó)NIC醫(yī)院做三代試管嬰兒多少錢?
泰國(guó)杰特寧三代試管嬰兒醫(yī)院手續(xù)攻略
試管胚胎移植后雌激素低危害一覽!移植后雌激素低提高著床方法
馬來西亞第三代試管嬰兒哪家醫(yī)院?看這里
解脲脲支原體陽性在玉林做試管要做哪些準(zhǔn)備附完整流程及花費(fèi)明細(xì)
中美試管嬰兒技術(shù)對(duì)比,哪個(gè)國(guó)家更勝一籌?
盆腔炎在汕頭做試管多少錢-盆腔炎試管移植成功率費(fèi)用
賀州輸卵管通而不暢做三代試管費(fèi)用高嗎附成功率及注意事項(xiàng)
子宮內(nèi)膜薄在玉林做試管的風(fēng)險(xiǎn)大嗎附應(yīng)對(duì)措施和治療建議
廣告合作方 廣告申請(qǐng)