<html>
<head>
<title>JS OBJECT STUDY</title>
<script>
//保持数组长度为10,当放第十一个元素的时候,原数组中的最老元素将被取代
function MyArray(){
this.array=new Array()//存放元素
this.pushTime=new Array()//存放时间
}
MyArray.prototype.push=function(obj){
var ctime=new Date().getTime()
if(this.array.length>=10){
//拷贝数组
var pt=this.pushTime.concat("")
//对数组排序
pt.sort()
var index=0
//寻找最老元素的下标
for(var i=0i<this.pushTime.lengthi++){
if(this.pushTime[i]==pt[0]){
index=i
break
}
}
//将最老元素替换
this.array.splice(index,1,obj)
this.pushTime.splice(index,1,ctime)
}else{
this.array.push(obj)
this.pushTime.push(ctime)
}
}
MyArray.prototype.pop=function(){
this.pushTime.pop()
return this.array.pop()
}
var a=new MyArray()
a.push("I")
a.push("love")
a.push("you")
a.push(",")
a.push("gao")
a.push("yuan")
a.push("hong")
a.push("ceng")
a.push("jing")
a.push("!")
a.push("ly")
alert(a.array)
alert(a.pop())
</script>
</head>
<body>
</body>
</html>
可以设置随机函数,取值范围是1-100的整数,那么我们认为1-100中每个数字出现的概率相等都是1%,你可以每次调用一下这个函数(随机函数很简单,网上查一下都有)然后当返回值在1-90中间时,你就认为出现的是a,91-95对应的是b,96-100对应的是c
你只要作一个简单的映射就行,用if else来判断,转换下返回结果就能满足你的要求
代码我就不写了
给你一个思路。随机产生随机数的概率你是改变不了的。但是显示出来的数字是可以控制的。根据比如随机生成
1---100
然后1-5时是显示1折,这样就是百分之5概率。
其他的一样。