Ticket #47 (closed QA: fixed)
分页标签一行代码理解问题
| 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
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)
嗯,这样就看得懂是什么意思了