为了账号安全,请及时绑定邮箱和手机立即绑定

请大神指教一下!


<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(a,b) {

return a-b

   }

var myarr = new Array("80","16","80","6","100","1");

document.write(myarr.sort(sortNum));

</script>

</head>

<body>

</body>

</html>

我想问一下如果不指定方法函数,就按unicode码排序,这个unicode码是什么?

还有在document.write(myarr.sort(sortNum));这里面调用sortNum函数为什么不用写成”sortNum()“呢

还有就是当我们需要升序排列的时候,它说当返回值为>-1&&<1的时候表示A和B具有相同的排列顺序,这是我们假设A=0.9,B=0.6,当它比较a-b的时候返回值就是0.3符合>-1&&<1,这时A是和B排在一起,就是0.9排在0.6之前对吗?

正在回答

1 回答

计算机只能存储2进制数据。所以你写的这些字符串,计算机会编码成二进制的,编码的时候就按照unicode码来编。

举2个例子,比如字母A,它的编码是65,

                     字母B,它的编码是66,

如果按照unicode升序排列的话,显然65<66,所以字母A排在字母B前面。

在比如,汉字 中,它的编码是20013

            汉字 国,它的编码是22269

如果按照unicode降序排列的话,显然22269 > 20013,所以 国 将会排在 中 前面

2 回复 有任何疑惑可以回复我~
#1

慕男婶

接着回答你第二个问题,为什么不能写sortNum(),而要写sortNum呢? 因为sortNum()是函数调用,你这样写相当于把sortNum的返回值当作sort函数的参数了(没有返回值就返回undefined), 而sortNum是函数的引用,表示把这个函数(注意区别)作为sort函数的参数
2015-12-15 回复 有任何疑惑可以回复我~
#2

Scny 提问者 回复 慕男婶

哦哦,原来如此 谢谢大神(婶)的耐心解答~
2015-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

请大神指教一下!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信