内置类上的原型方法;

<script>
var a=[1,2,3,4];
alert(a);//弹出:1,2,3,4
//原型上的方法,一般都是使用this来操作当前的实例;
Array.prototype.toString=function(){
this//这里的this是指当前执行这个toString方法的实例;
return this.join("++");
};
alert(a);//弹出:1++2++3++4
</script>

下面是一个面试题,我没有写出来;是一些错误的代码;以后再来修改

<script>
//给你一个数组,共m项,从这m项中,随机取出n项来,n<m;
var m=100;
var n=20;
function random(min,max){
return Math.floor(Math.random()*(max-min)+min)
}
random(0,100);

var a=[];
for(var i=0;i<100;i++) {
a.push(i)
}
var result=[];
for(var j=0;j<20;i++) {
var i=random(0, a.length);
result.push(i);//随机取索引值;
a.splice(i,1);
}
Array.prototype.random=function(n){

var random=Math.floor(Math.random()*(0-this.length));
//在当前执行这个random方法的实例中,随机去掉n个数;并把随机去掉的这些值保存在一个数据里返回;

var result=[];
for(var j=0;j<n;j++){
//下面代码是:取一个大于等于0,小于this.length的一个随机数;
var random=Math.floor(Math.random()*(this.length));
var val=this.splice(random,1);
//this[random]=this[this.length-1];
//this.length=this.length-1;//数组的length属性是可读写的;
result.push(val[0]);
}
return result
}
var a=[56,58,56,43,34,45,23,34,3,434,34,3,34,34,3,23,13];
var a2=a.random(7);
</script>

······