该死的,是的我们网上的书籍大多数是看不懂的,对于我这个菜鸟来说!但我总相信一句话,那就是,答案在附近,靠谱的w3school.com.cn永远比www.w3cschool.cn靠谱,给出没有任何的说明的代码就是毒害群众,不是所有人都有老师,家里很有钱,但大多数人都是将自己的那点小知识藏得牢牢的,好了,我将详细来讲解这个sort;
<script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") document.write(arr.sort()
) </script>
这个比较弱智的是相当于没用的额;
就像我永远只记兼容的写法,绝对不记不兼容的,谁搞的鬼.
<script type="text/javascript"> function sortNumber(a,b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") document.write(arr.sort(sortNumber)
) </script>
第二个,小伙子其实前面都是废话,你在w3c可以看的.
这里才是关键;
引用:w3c里的话
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
这个是一个固定的套路,但是也可以这样写
function(){return 0.5-Math.random()}
这里没有参数,没有关系,因为这句话里面是数字,而a-b也无非就是为了数字的范围,0.5-random 的范围是-0.5到0.5那就是符合上面那句,大于0,或者小于0;
你懂了吗?我再把这句话说一下0.5-random 的范围是-0.5到0.5那就是符合上面那句,大于0,或者小于0;如果你觉得这样写function(){return 0.5-0.2}也应该可以的.
但是事实上这是不可取的,因为永远是大于0,就永远不会改变,而random这个函数在比较的时候,一直在生成随机数,可能大于0.5,可能小于0.5.他一直在变化,所以才能改变,为什么都是数字,都不传参.
他的目的只是为了大于0或者小于0;,这里你还会难受为什么一定要传a,b,然后再a-b,https://www.cnblogs.com/AlvinZH/p/6784862.html这里有,不过是c语言里的,我感觉应该是一个道理.
最后还是回到地址,地址.
这样我在总结一下
参数:如果是字符的话需要传参,不然他怎么知道里面的a,b是谁.数字是不需要的因为他就是具体值
random:是为了生成大于0,或者小于0的数.
他是在循环的,原理我猜就是两个for函数排序.当然还要更复杂,除去字符,还有什么的,正则少不了.if判断.