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

为什么调用sortNum() 里不用传入参数啊,它里面的a,b是谁啊

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

提问者:qq_风居住的巷口丶_03796894 2016-08-11 09:51

个回答

  • speed93
    2016-10-20 18:17:01

    这里的sortNum是个形参,传递到sort()方法中会调用该同名形参的方法即sortNum(a,b)。举个例子:

    function fun1(a,b) {
       return b-a;
    }
    function fun2(fun1){
           document.write(fun1(3,5));
    }
    fun2(fun1); 你体会下。

  • qq_缘大寳_0
    2016-08-11 10:36:39

    myarr.sort(sortNum)  这个里面的fn是排序方法,排序是根据fn的返回值进行的排序
    sortNum为返回负数的时候     a排在b前面
                 0 的时候          无需调整
                 正数的时候     a排在b后面
    sortNum(a,b)