
获得徽章 0
- 看了社区几个验证码的方案(滑块验证),为啥都要做成纯前端验证码,难道做验证码不是为了安全,防机器刷的吗。都做到前端有个屁用。类似的还有,比如提现功能,在前端输入框限制,有鸟用。评论点赞
- 函数执行: 入栈出栈;
函数套函数: 父函数入栈, 子函数入栈, 子函数出栈, 复函数出栈;
递归: 自己做自己的子函数, 从最外层依次入栈的过程叫做"递", 从最内层依次出栈叫做"归";评论点赞 - 目前对类组件和函数组件的认识:
1. 在 react 的每一次更新时 会从root 递归调用 classComponent 实例的 render 方法、调用 functionComponent,都是为了获得虚拟dom节点;
2. 进入hooks版本,有状态的函数组件,可以更粒度抽离逻辑(Umi Hooks),但带来了问题:类组件回调函数在类的原型上,天生缓存,但是函数组件回调在函数体内部声明,每次页面更新都会重新生成,所以需要useCallback去缓存回调以节制性能,并且尽量把用到的引用类型数据声明在函数外;
3. 用类组件,内存中会一直有个实例,供你调render方法、缓存状态;用函数组件,它本身就相当于类组件的render,是一个全局的函数;
4. 如果类组件不复用,那么声明了一个类,就只有一个实例(人类只有一个人),是不是很奇怪;
5. 函数组件用到的常量,引用类型(如columns)放到函数体外,保证每次render复用,节省性能开销;简单类型的常量,放在函数体外是全局变量,占用栈内存,由v8垃圾清理机制清理;放在函数体内是局部变量,也是占用栈内存,但是函数组件执行完就被销毁(会不会有闭包),比全局变量的生命周期短,不会一直占用内存,但是每次都要重新声明;展开等人赞过评论6 - 要写用户名验证:数字子母线划线汉字2-10个;
很简单,自己写了/^[a-zA-Z0-9_\u4e00-\u9fa5]{2, 10}$/;
但是没有达到预期效果,预期符合的字符串还是不能匹配;
网上找了一个/^[a-zA-Z0-9_\u4e00-\u9fa5]{2,10}$/,可以正确匹配;
感觉和自己写的没差,但是为什么呢?
搞了半天才发现原来习惯性在量词中多打了空格;坑爹!展开评论点赞