javascript学习记录(二)-function函数的应用之sort()函数详解

来源:互联网 发布:汤姆大叔 javascript 编辑:程序博客网 时间:2024/06/05 14:10
javascript 虽然式一种弱脚本语言,但是他也是支持函数的声明的,此处的函数和java中的函数是有很大差别的。其中值得一提的是javascript 不支持重写举个栗子:
function someFunction(num1){console.info(num1);}function someFunction(num1,num2){console.info(num1+"..."+num2);}

这两种写法是一样的。后面的someFunction 函数会覆盖第一个someFuntion 函数,因为在javascript中即使是函数也是引用变量的一种,同名的引用变量在栈中指向的是同一块堆内存。在javascript看来这一同一方法。当然其在函数内部内置了arguments一个包含所有参数的数组.如上的num1可以用arguments[0]来获取,num2可以用arguments[1]来获取。


做了做末多的铺垫我们接下来说一下数组的正序转换方法sort(),要注意的是sort()比较的是字符串而不是数值,举个栗子:

var num = [1,2,3,5,10];

num.sort(); // 1,2,3,10,5 

因为在字符串比较的时候10 在5的前面,解决办法:

function someSort(val1,val2){if (val1<val2) {console.info(val1+"位于"+val2+"之前");return -1;} else if (val1>val2) {console.info(val1+"位于"+val2+"之后");return 1;} else {return 0;}}num.sort(someSort);console.info(num.valueOf());
由上可见函数可以作为值传递

原创粉丝点击