![aeac2927d7e34e325f201a1bca2bd769.png](https://i-blog.csdnimg.cn/blog_migrate/82960d0ac928ee9887ea6838efdcdc6c.jpeg)
1防抖和节流
1.防抖:触发高频事件后n秒函数只会执行一次
2.节流:高频事件触发后,但在n秒内只会执行一次
总结:防抖:1秒后执行一次
节流:1秒内只执行一次2vue的双向绑定****
当数据发生变化时,视图也跟也变化
当视图变化时,数据也跟着变化
使用object.defineproperty()来定义属性的set函数3.闭包的写法,闭包的作用
1.使用的闭包的目的–隐藏变量,间接访问一个变量,在定义函数的词法作用域外,调用函数
2.闭包的内存泄露,是ie的一个bug,闭包使用完以后,收回不了闭包的引用,导致内存泄露
跨域问题,谁限制的跨域,怎么解决
1.浏览器的同源策略导致了跨域
2.用于隔离潜在恶意文件的重要安全机制
3.[jsonp ,允许 script 加载第三方资源]https://segmentfault.com/a/11…
4.nginx 反向代理(nginx 服务内部配置 Access-Control-Allow-Origin *)
5.cors 前后端协作设置请求头部,Access-Control-Allow-Origin 等头部信息
6.iframe 嵌套通讯,postmessage网站性能优化
1.http 请求方面,减少请求数量,请求体积,对应的做法是,对项目资源进行压缩,控制项目资源的 dns 解析在2到4个域名,提取公告的样式,公共的组件,雪碧图,缓存资源,
2.压缩资源,提取公共资源压缩,提取 css ,js 公共方法
3.不要缩放图片,使用雪碧图,使用字体图表(阿里矢量图库)
4.使用 CDN,抛开无用的 cookie
5.减少重绘重排,CSS属性读写分离,最好不要用js 修改样式,dom 离线更新,渲染前指定图片的大小
6.js 代码层面的优化,减少对字符串的计算,合理使用闭包,首屏的js 资源加载放在最底部get与post 通讯的区别
1.Get 请求能缓存,Post 不能
2.Post 相对 Get 安全一点点,因为Get 请求都包含在 URL 里,且会被浏览器保存历史纪录,Post 不会,但是在抓包的情况下都是一样的。
3.Post 可以通过 request body来传输比 Get 更多的数据,Get 没有这个技术
4.URL有长度限制,会影响 Get 请求,但是这个长度限制是浏览器规定的,不是 RFC 规定的
5.Post 支持更多的编码类型且不对数据类型限制
原作者:一只神奇的程序猿
原出处:CSDN
原文链接:前端的面试题总结_xxzzzoo的博客-CSDN博客