第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

sortNum(a,b)這個(gè)函數(shù)使用的時(shí)候不應(yīng)該傳參嗎?

<script?type="text/javascript">
??function?sortNum(a,b)?{
??return?a?-?b;
?//升序,如降序,把“a?-?b”該成“b?-?a”
}
?var?myarr?=?new?Array("80","16","50","6","100","1");
??document.write(myarr?+?"<br>");
??document.write(myarr.sort(sortNum));
</script>

不懂這個(gè)函數(shù)的意思,前面有人解釋a,b可以理解為數(shù)組下標(biāo),可是下標(biāo)怎么能體現(xiàn)數(shù)組的值呢

正在回答

5 回答

sortNum()被傳進(jìn)去的時(shí)候其實(shí)是以“函數(shù)指針”的方式傳進(jìn)去的,因?yàn)樵贘S里面,函數(shù)也被當(dāng)作對(duì)象處理,所以也是可以被當(dāng)作參數(shù)傳遞的。也就是你傳遞了一個(gè)函數(shù)對(duì)象給array.sort()。

我覺(jué)得你想問(wèn)的是既然沒(méi)有傳遞那些元素進(jìn)去,到底是怎么排序的。其實(shí)我們自定義的sortNum()被傳入array.sort()之后,由array.sort()將數(shù)組里的元素兩兩傳入sortNum()來(lái)進(jìn)行大小比較,也就是說(shuō)不需要我們手動(dòng)傳入數(shù)組元素。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小菜鳥工程師

請(qǐng)問(wèn)為什么不是.sort(sortNum())而是.sort(sortNum)呢???調(diào)用函數(shù)sortNum為什么不加括號(hào),而是像調(diào)用對(duì)象一樣的?
2019-07-03 回復(fù) 有任何疑惑可以回復(fù)我~
#2

沈夜 回復(fù) 小菜鳥工程師

“sortNum()被傳進(jìn)去的時(shí)候其實(shí)是以“函數(shù)指針”的方式傳進(jìn)去的”,調(diào)用函數(shù)是需要加括號(hào)的,但是這里并不是調(diào)用函數(shù),而是將函數(shù)傳進(jìn)去。你并沒(méi)有調(diào)用sortNum()這個(gè)函數(shù),你只是將它傳遞給別人調(diào)用。如果你要真正理解這個(gè)語(yǔ)法是怎么回事,你要搜索一下“函數(shù)指針”的知識(shí)
2019-07-18 回復(fù) 有任何疑惑可以回復(fù)我~

不要亂理解! myarr.sort(sortNum) 相當(dāng)于 myarr.sort(function sortNum(a,b) { return a -b;})。

至于為什么這樣寫,建議查看文檔??es6關(guān)于該方法的解釋

3 回復(fù) 有任何疑惑可以回復(fù)我~

我的理解就是固定格式

0 回復(fù) 有任何疑惑可以回復(fù)我~

我的理解,指的不是下標(biāo),而是ASCII碼,a為97,b為98,a-b是指按ASCII碼進(jìn)行升序排列

1 回復(fù) 有任何疑惑可以回復(fù)我~

a,b傳遞的應(yīng)該不是下標(biāo)而是數(shù)組內(nèi)的元素,sort()排序是對(duì)數(shù)組內(nèi)的元素進(jìn)行排序,所以取出來(lái)比較的不是下標(biāo)而是元素。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

sortNum(a,b)這個(gè)函數(shù)使用的時(shí)候不應(yīng)該傳參嗎?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)