版权声明:转载时请以超链接形式标明文章原始出处 http://blog.lonelystar.org/post/3.html

    这个写法是专用于取代switch里相等值比较的

    通常来说比较等值的每次比较都需要重复判断

    通过自定义函数的使用避免了重复判断提高了效率

    原理很简单即使用对象定位需要范围的值

    该返回值可以是个变量也可以是数组、函数等

    JavaScript语言:
    //Switch的相等   
    //传递参数:要比较的变量,比较的值和返回值的JSON形式   
    //设置一个默认返回值'default'比较合适   
    $SEql=function(X,o,f,undefined){   
        return (f=o[X])!=undefined?f:o['default']   
    }   
      
    //调用举例   
      
    GetX=function(C){return $SEql(C,{'-1':100,0:140,1:187,2:267,3:347,4:427,5:507,6:587,7:667,8:747,9:827,10:865,11:950})};//根据列返回格子中点X   
      
    GetY=function(R){return $SEql(R,{0:75,1:175,2:270,3:380,4:470,5:575})}; //根据行返回Y坐标,用于僵植物底部和尸脚部坐标   
      
    GetY1Y2=function(R){return $SEql(R,{0:[0,85],1:[86,180],2:[181,280],3:[281,385],4:[386,475],5:[476,600]})}; //根据行返回Y范围,杨桃用

      本文现有2 条评论

    • 1  看不懂啊........

      tobyforever 于 2011-9-30 23:10:56 回复
      就是弄了个用查哈希表的方法代替switch

    • 2  例子可否在详尽点..
      这个感觉夹在中间..很多都不知道意思

    欢迎您发表评论:

     
    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。