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

来源:7-22 数组排序sort()

qq_风居住的巷口丶_03796894

2016-08-11 09:51

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

写回答 关注

2回答

  • 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); 你体会下。

    懵逼的我

    看了三遍没看懂

    2016-10-28 15:10:01

    共 1 条回复 >

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

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

    qq_风居住...

    我想问调用sortNum的时候为什么不像java C语言那样要传入参数, 像这个例子,myarr里有6个参数,调用这个函数的时候a, b 的值是多少

    2016-08-11 10:41:58

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467195 学习 · 21875 问题

查看课程

相似问题