在这个公司之前,我的技能是,前端三剑客+jq+vue+element+小程序+bs,近期我主要用jq+layui+bs插件(table,z-tree,select2...)+arttemplate,以前,我总觉得,一个项目,用一个框架,一个ui比较好(提高页面性能),但现在的项目,每个页面都会引入十几种甚至二三十个框架,这样功能自然更强大,副作用也显而易见,就是单页文件大,难加载,好在浏览器能缓存框架文件,这样也能提高不少性能,回顾前端三大框架avr,后两种更常用,也是学习的基础,起步可以是三剑客+vue,element+小程序+react,bs+uni,后续就是深入框架源码,适时修改框架成自定义专用框架,前端框架无非是把行为层数据分离出来,让你更简单的去渲染页面,所以框架提供最基本的两个对象,模板和渲染,就像vue中的template和vue,react中的虚拟dom和render,有了这个,页面就能比较轻松的渲染,当然,框架会提供很多功能,像模板间数据交互,状态管理,如果你尝到了avr的甜头,bs就有点过时了,但作为世界第一的全功能前端框架,里边的插件绝对不可匹敌的存在,像bs-table,一用才知道element table提供的功能有多垃圾,什么表格增删改查,导入导出,打印,表中表,树表,集成的表格导航,只有bs-table功能齐全,前端做后台开发,layui是一个很好的ui,代码即粘即用,完全不用学习,各种表单元素交互,弹窗都提供回调函数,处理起来那叫一个得劲,像起止日期框,只需要input加个id="startTime",就能实现日期的选择,并且还会限制日期格式,防止出现非日期数据,或者开始日期大于结束日期,一个id全搞定,很多时候,要限制输入框的输入格式,常用的属性有 readonly,maxlength,required 常用type有text,number, password,email,在type=text时,maxlength能用,但在type=number时,maxlength不能用了,这时你可以添加输入监听方法, oninput="value=value.slice(0,x)" ,x为几,输入框就限制输出几位,在表单项里边,你可以通过username.value去访问name="username"输入框的值,required属性保证输入框不能为空,表单大部分验证发生在submit触发,不点提交,不会触发,像required,email等,esx中提供filter,map函数可以完全取代for等循环,代码尽量使用高级语法