slice()方法从现有数组中返回选中的元素。返回一个由新选择的元素组成的新数组,而不改变原始数组。Array.slice(start,end)start:可选数组开始选择的位置,如果不设置,默认值为0,从头开始选择。end:可选,截取数组的地方,默认截取到数组末尾vararr=[1,3,5,7,9];vararr1=arr.slice();//[1,3,5,7,9];selectvararr2=arr.slice(1)从头开始??;//[3,5,7,9];selectvararr3=arr.slice(-1)fromsubscript1;//[9];从倒数第二项选择vararr4=arr.slice(2,4);//[5,7]从第二项到第四项选择vararr5=arr.slice(-3,4);//[5,7]从倒数第三项到倒数第四项选择vararr6=arr.slice(-3,-1);//[5,7]从倒数第三项到倒数第一项选择注意:可以使用负值从数组末尾取元素。注意:如果没有指定end,slice()方法会选取数组从start到end的所有元素。重点//返回一个对象,对象有max和min属性,求当前参数的最大值和最小值functionfn1(){vararr=Array.prototype.slice.call(arguments);如果(arr.length===0)返回;arr=arr.sort(函数(a,b){返回a-b});return{max:arr[arr.length-1],min:arr[0]};}fn1(3,5,7,9);//{max:9,min:3这种情况下,为什么Array.prototype.slice.call(arguments)将伪数组转换成数组?这道题涉及两个概念1.prototypeprototype,如果所有的数组对象都需要使用任何方法,这个方法必须要加到prototype里面,里面必须要用到this,this就是数组对象例如://求和数组Array.prototype中的数值元素。sum=function(){varsum=0;//this是调用这个方法的数组for(vari=0;i
