switch等值比較的寫法改進
來源:程序員人生 發布時間:2014-04-21 13:52:42 閱讀次數:2666次
這個寫法是專用于取代switch里相等值比較的
通常來說比較等值的每次比較都需要重復判斷
通過自定義函數的使用避免了重復判斷提高了效率
原理很簡單即使用對象定位需要范圍的值
該返回值可以是個變量也可以是數組、函數等
//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范圍,楊桃用