js|青训营

69 阅读3分钟
  • 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。强制定义类型,每个变量都必须声明类型