前言:20届毕业生,半路出家的前端,目前也只会写写页面,感觉要学习的东西有很多,不单单是css js等内容,还需要有一些计算机的常识、包括http、其他领域却又和前端密切相关的内容,以下就是总结一下自己一路走来听说了解的术语和知识,及时记录。
1 跨域
请求不同协议、不同IP、不同端口的接口,就会发生跨域
2 websocket?
html5中实现客户端和服务端双向通信的一项技术,有待补充
3 防抖节流
一般在搜索功能中出现,优化的措施。
防抖:在固定的时间内重复触发事件后以最后一次触发为准,现象:点击1s后出现弹窗,在1s内又点了n次,则会出现n次弹窗,我们希望的是1s内无论点多少次,前面的计时器都取消,都以最后一次点击1s后才出现弹窗为准
节流:在固定的时间内只能触发事件一次,超过固定时间才能触发第二次。现象:如过在防抖的基础上,用户不断的在新的1s内触发事件,则只触发一次,我们希望的是每2s内,用户能且只能触发一次事件
4 weex技术
weex是一门面对三端(H5、Android、iOS)的技术
weex是结合vue来开发,类似vue的开发语言,一套代码三端可用。但坑会比较多,比如只有块级元素,没有行内元素。Android的兼容性和iOS的差别很大,需要反复调试。
5 webview 和 原生
webview是一个容器,用在app浏览H5页面?
6 Proxy
7 设计模式
据说有观察者模式??还有其它? 有待补充
8 回调地狱
异步操作的回调函数中不断嵌套新的异步操作
很多时候我们都需要异步操作返回后的结果再进行下一步操作,但由于是异步,我们只能将下一步操作放到异步函数的回调函数中,若回调函数还要操作新的异步函数且需要用到它返回的结果时,我们便陷入了一次一直嵌套的坑里,最终代码丑陋不堪,层级嵌套深,这就是回调地狱。虽然能解决问题,但会让自身代码很难读懂和维护,也不方便后续开发人员来维护代码。
解决方法:promise、ES6的 async await