function myRand(start, end) {
return start + Math.round((Math.random() * (end - start)))
}
这个函数可以得到start到end之间(包括start和end)的随机数,然后根据随机数去点名
<script defer="defer">var arr=new Array("张三","李四","王二","陈一","哈哈")
var n
var num
var timer
function change(){
if(num>=0){
n=GetRnd(0,num)
alert(arr[n])
arr.splice(n,1)
num = arr.length-1
}else{
alert("点完了")
clearInterval(timer)
}
}
function start(){
num = arr.length-1
clearInterval(timer)
timer = setInterval('change()',40)
}
function GetRnd(min,max){
return parseInt(Math.random()*(max-min+1))
}
</script>
<input type="submit" name="button" id="button" value="开始点名" onclick="start()" />
<script language="javascript">var num=13//假设有13个同学
var name=new array( )
var aaa=new array( )//定义两个数组
for(var i=0i<numi++){
name[i]=“姓名"+i
}//把同学名字放进name数组
for(var i = 0i<numi++)
{
var j = Math.floor((num-i)*Math.random())//获取小于13的随机数
aaa.push(name[j])//往aaa数组添加name数组的数据
name.splice(j,1)//把name数组里的数据删掉
}
document.write(aaa.join("<br>"))数组里每个元素增加一个换行。
</script>
不懂可追问。