问答详情
源自:7-22 数组排序sort()

return详解,谁知道?

<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>

return详解,谁知道?

提问者:慕用7262582 2017-10-31 10:52

个回答

  • 一念成疯
    2017-10-31 13:10:34
    已采纳

    你上面的问题是数组排序里面的return a-b 的具体运行过程吧; 

    return a-b是比较a和b,a比b大的话则把 a 排在 b 前面,这样经过若干次比较,就会排序完成。

    下面的代码你运行一下打开控制台就可以看到每次两个数比较的结果了。

    <!DOCTYPE html>
    <html>
     <head>
      <title> 事件</title>  
      <script type="text/javascript">
        var i = 0;
        var myarr = new Array("80","16","50","6","100","1");
         myarr.sort(function(a,b){ 
            i++;
            console.log('第'+i+'次排序',a,b);
            return a-b;  
    });
    
    
      </script> 
     </head> 
     <body>
         
     </body>
    </html>

     return不是必须要返回一个值,return表示中止当前函数的运行,并将操作权返回给调用者或者是结束当前函数的执行,可以看看return 、break 、continue 的区别