課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
( ╯□╰ ),小白問一下各位大大,這里的 return a - b 到底是嘛子個意思?
2016-08-31
源自:JavaScript進(jìn)階篇 7-22
正在回答
參考了一些資料跟大神們的解釋,自己理解是這樣的:
1,sort的入?yún)⑹且粋€function2,sort根據(jù)function的參數(shù)和返回值對數(shù)組進(jìn)行排序。?
比如參數(shù)是a,b,他們就是數(shù)組里的倆元素,返回值大于0表示a排在b后面,這樣a>b,a-b>0,a在b的后面,a>b升序;而a<b,b-a>0,a在b的后面,a<b降序。
看一下定義:
myArray.sort(sortMethod);
注意:?該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
可能在函數(shù)內(nèi)部還有一些算法,類似C語言的冒泡排序法,來真正實現(xiàn)升序跟降序的排序。
不知道理解的對不對,嘿嘿
??
慕粉1469604703
墨小漓 提問者 回復(fù) 慕粉1469604703
墨小漓 提問者
慕粉1469604703 回復(fù) 墨小漓 提問者
o(^▽^)o 哈哈,謝謝你們的耐心解答。
你們說的小白知道了。
( ╯□╰ ),小白要問的不是減法的問題。看下面這段代碼。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array對象 </title>
<script type="text/javascript">
? ?function sortNum(a,b) {
? ?return a - b;
? ?} ?//實現(xiàn)升序功能?這樣寫為什么就能實現(xiàn)升序功能
? ?function asortNum(a,b) {
? ? ? ?return b - a;
? ?} //實現(xiàn)降序功能?為什么能起到降序作用。
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum)+"<br/>");
document.write(myarr.sort(asortNum));
</script>
</head>
<body>
</body>
</html>
這段代碼實現(xiàn)了數(shù)組元素的升序和降序排列。關(guān)鍵是sort里面的函數(shù)起到了作用??墒悄莻€函數(shù)為什么是這樣寫的。小白很不解。
imalwayshere
墨小漓 提問者 回復(fù) imalwayshere
墨小漓 提問者 回復(fù) 卡蘭尼克
a,b 是數(shù)字參數(shù) ,a-b就是簡單減法運(yùn)算
就是返回 a減去b的值。
比如下面這個函數(shù)返回a與b的差:
function?sub(a,?b)?{ ????return?a-b; }
如果我們調(diào)用:
var?result?=?sub(5,?3); alert(result);
那么瀏覽器就會彈框顯示一個數(shù)字2。
----
那么在這里也和上面的函數(shù)sub()一樣,返回一個值。需要注意的是,如果函數(shù)返回值了,那么return語句后面的代碼就不會被執(zhí)行了。
舉報
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界
1 回答函數(shù)的語法問題
3 回答js語法問題
4 回答JS函數(shù),while問題
2 回答js函數(shù)調(diào)用問題
3 回答JS函數(shù)聲明問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-09-01
參考了一些資料跟大神們的解釋,自己理解是這樣的:
1,sort的入?yún)⑹且粋€function
2,sort根據(jù)function的參數(shù)和返回值對數(shù)組進(jìn)行排序。?
比如參數(shù)是a,b,他們就是數(shù)組里的倆元素,返回值大于0表示a排在b后面,這樣a>b,a-b>0,a在b的后面,a>b升序;而a<b,b-a>0,a在b的后面,a<b降序。
看一下定義:
myArray.sort(sortMethod);
注意:?該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
可能在函數(shù)內(nèi)部還有一些算法,類似C語言的冒泡排序法,來真正實現(xiàn)升序跟降序的排序。
不知道理解的對不對,嘿嘿
??
2016-08-31
o(^▽^)o 哈哈,謝謝你們的耐心解答。
你們說的小白知道了。
( ╯□╰ ),小白要問的不是減法的問題。看下面這段代碼。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array對象 </title>
<script type="text/javascript">
? ?function sortNum(a,b) {
? ?return a - b;
? ?} ?//實現(xiàn)升序功能?這樣寫為什么就能實現(xiàn)升序功能
? ?function asortNum(a,b) {
? ? ? ?return b - a;
? ?} //實現(xiàn)降序功能?為什么能起到降序作用。
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum)+"<br/>");
document.write(myarr.sort(asortNum));
</script>
</head>
<body>
</body>
</html>
這段代碼實現(xiàn)了數(shù)組元素的升序和降序排列。關(guān)鍵是sort里面的函數(shù)起到了作用??墒悄莻€函數(shù)為什么是這樣寫的。小白很不解。
2016-08-31
a,b 是數(shù)字參數(shù) ,a-b就是簡單減法運(yùn)算
2016-08-31
就是返回 a減去b的值。
比如下面這個函數(shù)返回a與b的差:
如果我們調(diào)用:
那么瀏覽器就會彈框顯示一個數(shù)字2。
----
那么在這里也和上面的函數(shù)sub()一樣,返回一個值。需要注意的是,如果函數(shù)返回值了,那么return語句后面的代碼就不會被執(zhí)行了。