请教怎么用JS计算分数排名

JavaScript010

请教怎么用JS计算分数排名,第1张

把所有分数放入一个数组中,就可以用数组排序的方法来排序

<script type="text/javascript">

    function sortNumber(a,b){

        return a-b

    }

    var arr = new Array(3,5,8,31,66,2)

    document.write(arr.sort(sortNumber))

</script>

需要注意的是sortNumber这个方法,因为sort()是按照首字母或数字来排序的,如果没有sortNumber结果为2,3,31,5,66,8 ,这个显然不是我们所要的,如果想按照其他标准进行排序,就需要提供比较函数,如果a小于b,返回一个小于0的值,a排在b的前面,就是小的排前,大的排后,如果两者相等,就返回一个0,如果a大于b,返回一个大于0的值,b排在a的前面,根据这个,我们创建一个sortNumber的函数来判断。

<!doctype html>    

<html>    

<head>    

<title>计算器</title>    

<meta charset="utf-8"/>    

<style type="text/css">    

.panel{    

   border:4px solid #ddd    

width:192px    

margin:100px auto    

}    

.panel p,.panel input{    

   font-family:"微软雅黑"    

font-size:20px    

margin:4px    

float:left    

}    

.panel p{    

   width:122px    

height:26px    

border:1px solid #ddd    

padding:6px    

overflow:hidden    

}    

.panel input{    

  width:40px    

height:40px    

border:1px solid #ddd    

}    

</style>    

<script type="text/javascript">    

//参数e用来接收传入的event对象    

function cal(e){    

//1.获取事件源,处理button的事件    

var obj=e.srcElement||e.target    

if(obj.nodeName !="INPUT"){    

  return    

}    

    

var value=obj.value    

var p=document.getElementById("screen")    

if(value=="C"){    

//2.如果是[C],则清空p    

p.innerText=""    

}else if(value=="="){    

//3.如果是[=],则运算    

var exp=p.innerText    

try{    

var result=eval("("+exp+")")    

//如果正确执行,将结果写入p    

p.innerText=result    

}catch(e){    

//发生错误,给予错误提示    

  p.innerText="Error."    

}    

}else{    

//4.如果是其它按钮,则将value追加到p中    

p.innerText+=value    

    

}    

}    

</script>    

</head>    

<body>    

<!--在最外层的div上注册单击事件,传入event对象,然后在函数中通过event判断出事件来源于哪一个button,    

    进而做出应有的处理。这样的好处是,避免在button上大量的注册事件。-->    

<div class="panel" onClick="cal(event)">    

<div>    

<p id="screen"></p>    

<input type="button" value="C">    

<div style="clear:both"></div>    

</div>    

<div>    

<input type="button" value="7">    

<input type="button" value="8">    

<input type="button" value="9">    

<input type="button" value="/">    

<input type="button" value="4">    

<input type="button" value="5">    

<input type="button" value="6">    

<input type="button" value="*">    

<input type="button" value="1">    

<input type="button" value="2">    

<input type="button" value="3">    

<input type="button" value="-">    

<input type="button" value="0">    

<input type="button" value=".">    

<input type="button" value="=">    

<input type="button" value="+">    

<div style="clear:both"></div>    

</div>    

</body>    

</html>

这是我自学时候写的计算器

function test(){

     var txt1 = document.getElementById("txt1"),

         txt2 = document.getElementById("txt2"),

         txt3 = document.getElementById("txt3"),

         opt  = document.getElementById("sel")

     txt3.value =  eval(txt1.value + opt.value + txt2.value)//eval函数可计算某个字符串,并执行其中的的js代码

} <input type="text" id="txt1" />

<select id="sel">

     <option value="+">+</option>

     <option value="-">-</option>

     <option value="*">*</option>

     <option value="/">/</option>

</select>

<input type="text" id="txt2" />

=

<input type="text" id="txt3" />

<input type="button" id="btn" value="计算" onclick="test()"/>