今天发现自己前后端的知识内容还是特别的薄弱,有些以前常用的知识内容,都已经忘记了,现在用起来,如果不是自己搭建的框架的话,遇到一些问题很是慌张。
前端
前端 、客户端。([ Front-end、Client ])。
- 客户端是指开发面向客户的程序,多平台,比如Windows 安卓 苹果,还有游戏客户端也算一类。或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。
- 前端(Browser)指的网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。
JavaScript
获取数值进行 转换。parseInt 和 parseFloat 。2019-04-01。
JavaScript 中只有parseInt 和 parseFloat 。
一是:JavaScript 浮点数计算的 Bug 。
二是:跟计算机最终转换成二进制计算有关系 。
方法一:decimal.js (推荐)
下载地址 :https://github.com/MikeMcl/decimal.js
使用方法和说明都在 github 上
console.log(Decimal.round(3.17)) //3
console.log(Decimal.round(3.17, 0)) //3
console.log(Decimal.round(1.13265, -3)) //1.133
console.log(Decimal.round(3.17, -3)) //3.17
console.log(Decimal.round(1000, -3)) //1000
console.log(Decimal.round(0.1+0.2, -3)) //0.3
console.log(Decimal.round(31216, 1)) //31220
console.log(Decimal.round(31213, 2)) //31200
方法二:加减乘除的四则运算
加法运算
进行加法计算,首先要记录每一个数字的小数位数,记录小数位数为精确度,之后把所有数字根据精确度转为整数,加减法计算过后再除以精确度,得到更精准的数值。
- JavaScript 中的方法,加法为“+”,减法为“-”。
function numAdd(num1, num2) {
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
var precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;//精度
return ((num1 * baseNum + num2 * baseNum) / baseNum).toFixed(precision);;
};
// 举例 : numAdd(12.1,0.21); 最后的结果是 12.31 .
- NodeJS 中的使用方法。加法为“+”,减法为“-”。

乘法运算
根据字符串来计算,与加法类似,但是加法的精确度是按照数值的小数位置大小确定的,乘法则是按照全部数字的小数位数之和决定的。
- JavaScript
function numMulti(num1, num2) {
var baseNum = 0;
try {
baseNum += num1.toString().split(".")[1].length;
} catch (e) {
}
try {
baseNum += num2.toString().split(".")[1].length;
} catch (e) {
}
return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);
};
- NodeJS

除法运算
- 除法与乘法的运算更为类似,需要根据(除数的小数位数 - 被除数的小数位数)的精确度决定,就正如我们小学的时候计算除法的短除式是一个道理的。
- 最好使用 decimal 精确到几位小数,避免出现除不尽的情况。
- JavaScript
function numDiv(num1, num2) {
var baseNum1 = 0, baseNum2 = 0;
var baseNum3, baseNum4;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
with (Math) {
baseNum3 = Number(num1.toString().replace(".", "")); // 转为纯数字
baseNum4 = Number(num2.toString().replace(".", "")); // 转为纯数字
return (baseNum3 / baseNum4) * pow(10, baseNum2 - baseNum1);
}
};
- NodeJS

后端
后端、服务端。([ Back-end、Server ])。
- 后端部署在服务器上,是管理数据,为前端以及客户端提供数据传输的。
- 服务器端就是后端。服务端设置各种安全机制,拦截器、控制器等内容。
layui 模板
layui table 显示的数据。2019-04-01。
更多关于 layui table 的内容 https://www.layui.com/doc/modules/table.html
- 后端返回的数据
@Data
public class TableData{
private String msg; // 解析提示文本
private int code; // 解析接口状态,规定成功的状态码,默认:0
private List<?> data; // 解析数据列表
private int count; // 解析数据长度
}
- // 通过下图我们可以清楚的看出来,code 的值返回 0 ,才可以显示数据。code 值返回数据时,表格仅仅显示 msg 的信息。返回其他值时,显示的是数据接口异常。

- 在没有认真读 layui 文档的时候,我仅仅了解到 on 和 reload 的方法。其实还有很多方法如下图。

layui table 进行分页查询。2019-04-01。


layui table 异步请求数据 --方法级别的渲染 2019-04-01

Mybatis
Mybatis 的 分页查询 插件 PageHelper
- 在使用配置分页插件的时候,需要在 Mybatis.xml 的配置文件中添加插件内容。
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样-->
<property name="offsetAsPageNum" value="true"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true"/>
<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)
<property name="pageSizeZero" value="true"/>-->
<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<property name="reasonable" value="true"/>
<!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
<!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
<!-- 不理解该含义的前提下,不要随便复制该配置
<property name="params" value="pageNum=start;pageSize=limit;"/> -->
</plugin>
</plugins>
- 然后,在查询的时候将
PageHelper.startPage(页数,条数);放置后的第一个 select 会进行分页查询。

本文探讨了前端和后端开发的基本概念,介绍了JavaScript中处理数值运算的方法,并提供了Mybatis分页查询插件的配置示例,同时展示了如何利用layui进行表格数据展示。
4932

被折叠的 条评论
为什么被折叠?



