-
md5将内容加密:
String password = employee.getPassword(); password = DigestUtils.md5DigestAsHex(password.getBytes()); -
要把json解析为对象,json里的对象的属性名要和前端的实体类的属性名一模一样
-
从前端传给数据库数值时,乘100存进数据库,然后从数据库返回数据给前端后,前端又除以100,防止损失精度(若前端传给数据库的数据是浮点数)
-
myBatis plus提供的条件构造器
LamdaQueryWrapper
-
判断属性是否在某对象中:xxx in xxx
注意属性名是键,必须用引号引起
未定义类型
undefined
只声明了但是未被赋值的变量,默认为undefined
当某个变量需要用户给值时,代码里为了健壮性好,就可以用undefined判断用户是否已给值过来
字符串类型
单引号、双引号、反引号引起 值也是该节点的value属性的值,直接.value得到的是它固定的value的值
单选框、复选框
值也是该节点的value属性的值,直接.value得到的是它固定的value的值
要获取被选中的单选框的值,用radio节点的.checked属性,若该单选框被选中,则会返回true,否则false,依此判断单选框是否被选中
也可对checked属性赋值,动态修改单选框是否被选中
iterator
就是for of遍历
JS免费赠送的关键词rest:
存储除了函数参数列表里的参数剩余的所有参数,也是一个数组
即获取除了已经定义了的参数以外的参数
使用方法,在函数的参数列表末尾写上...rest才能用(只能写在最后面)
ts的基础类型
- boolean,number,string
- 枚举enum
- any,unknown,void
- never
- 数组类型[ ]
- 元组类型 tuple
- 函数类型(ts定义函数类型时要定义输入参数类型和输出参数类型)
- 接口(接口是为了定义对象类型)
- 类(写法和js差不多,增加了一些修饰符、有抽象类、interface约束类用implements)
ts高级类型
-
联合类型|
-
交叉类型&
-
类型断言
-
类型别名
-
泛型(考虑到可重用性),不仅考虑到当前能用的数据类型,也要考虑到未来可能会用到的数据类型。解决输出、输入可关联的问题。泛型的作用是临时占位,之后通过传来的类型进行推导。泛型的类型参数一般用T表示。在定义函数的时候使用泛型,在使用函数传参的时候使用的是自己需要的数据类型。使用时可以显示说明自己用的参数类型,也可以不说明,ts会有类型推断功能,根据传的参自动推导类型为xxx。extends泛型约束
泛型中常用的操作符:
typeof获取类型,keyof获取所有键,in遍历枚举类型,T[K]索引访问,extends泛型约束
常用的泛型工具:
Partial:将类型属性变为可选
Required:将类型属性变为必选
Readonly:将类型属性变为只读
Pick、Record
关于执行顺序
- html是按文档流顺序执行
- js里的代码,调用alert、prompt、confirm的代码会优先执行。即alert()和prompt()它们会跳过页面渲染先被执行。其余自上而下顺序执行
js是一门弱类型编程语言
弱类型编程语言:对变量不强制定义数据类型。只有赋值了我们才知道它是什么数据类型
强类型编程语言:如java。强制定义类型,每个变量都必须声明类型