Ticket #47 (closed QA: fixed)

Opened 14 years ago

Last modified 13 years ago

分页标签一行代码理解问题

Reported by: huangjianhua Owned by:
Priority: major Milestone:
Component: 商家后台 Version:
Keywords: 代码优化 Cc:
Due Date: 06/12/2011

Description

问题描述:

在做产品搜索分页标签改版的时候,看代码发现一行很有趣的代码问题,代码如下:

95.  var pageNoEnd = pageNo < 4 ? 10 : pageNo + 7;
96.  pageNoEnd = pageNoEnd > pageTotal ? pageTotal : pageNoEnd;
97.  var pageNoBegin = pageNo - (9 - (pageNoEnd - pageNo));
98.  pageNoBegin = pageNoBegin < 1 ? 1 : pageNoBegin;

代码的意图: 在做分页的时候,想从代码的当前的页码中计算出能显示的结束页码,然后再计算出开始的显示页码;

在97行中,

var pageNoBegin = pageNo - (9 - (pageNoEnd - pageNo));

理解起来想要表达什么意思,很费力;

问题解决:

其实上这一行代码是可以简化为:

var pageNoBegin = pageNoEnd - 9;

想得到显示的开始页 直接用页面的结束页 减去 中间想要被间隔显示的数字即可了.

以后我们在写代码的时候尽量少用括号上面这种括号,除非是为了帮助理解才这样用,特殊情况下不建议这样用.尽量做到代码简化又容易理解.

Change History

comment:1 Changed 14 years ago by chenyinle

嗯,这样就看得懂是什么意思了

comment:2 Changed 13 years ago by huangjianhua

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.