处理两端极限值的小技巧

var a=[];

var k=0;

a是一个数组,里面有很多的数据

参数k的值是不确定的,但是有范围。

function setInfo(){

text.innerHTML="";

var uid=k;

for(var i=0;i<4;i++){

  //经常会有很多的判断

  text.innerHTML+=a[uid];

  uid++;

  if(uid>a.length-1){

    uid=0;

  }

}

}

当在别的地方操作时:

document.onkeydown=function(e){

var keycode=e.which || event.keyCode;

switch(keycode){

case  37: 

  k=Math.max(k--,0);

  setInfo()

break;

case  39:

  k=Math.min(k++,a.length-1);

  setInfo();

break;

}

}

window.onload=function(){

  setInfo();

}

//这样就保证了k不会小于0,k不会大于a.length-1

k=Math.max(k--,0);

k=Math.min(k++,a.length-1);

跟一个前辈学的,有时候会特别好用。

原文地址:https://www.cnblogs.com/gaoxt/p/7097526.html