other

工作流程

  1. 开会定义需求
  2. 前端提供接口文档
  3. 后端确认后 建立分支共同开发联调
  4. 合并主杆并提交测试人员测试
  5. 返回议题修改 再次提交测试
  6. 通过后再次合并最新主杆
  7. 主杆合并分支

    项目打包

    6.css不兼容添加前缀
    image.png

    get&post区别

    GET 请求可被缓存
    GET 请求保留在浏览器历史记录中
    GET 请求可被收藏为书签
    GET 请求不应在处理敏感数据时使用
    GET 请求有长度限制
    GET 请求只应当用于取回数据
    POST 请求不会被缓存
    POST 请求不会保留在浏览器历史记录中
    POST 不能被收藏为书签
    POST 请求对数据长度没有要求

网站优化

  1. 精灵图
  2. 懒加载
  3. 按需引入
  4. 减少dom操作
  5. 减少http请求
  6. 缓存

    h5离线存储 manifest

    现在的h5的manifest也可以存一下,优化网站
    image.png
    image.png

    混合开发hybrid

    image.png
    image.png
    image.png

    uniapp等生成app

    image.png

    HTML

    BFC

    image.png

    JavaScript

    普通函数this指向

    ```javascript //构造函数 function get(content){ console.log(this); } get(); //window get.call(person);//person对象

//函数作为对象方法被调用(谁调用我,我指向谁) var person ={ name:’张三’, run:function(){ console.log(this.name); } } person.run(); //张三 person.run.call({name:’李四’},30) //李四

  1. <a name="xSlOE"></a>
  2. ## 箭头函数thsi指向
  3. ```javascript
  4. //箭头函数没有this,不能通过apply等修改this指向
  5. //this会指向定义位置
  6. //1
  7. var name='李四';
  8. var all ={
  9. name:'张三',
  10. run1:function(){
  11. console.log(this.name);
  12. },
  13. run2:()=>{//all对象不能产生作用于this指向window
  14. console.log(this.name);
  15. }
  16. }
  17. all.run1(); //张三
  18. all.run2(); //李四
  19. //2
  20. function fn (){
  21. console.log(this); //call改变this指向了obj
  22. return ()=>{
  23. //没有this 往外找到obj
  24. // 如果没有call改变this指向 则会找到window
  25. console.log(this);
  26. }
  27. }
  28. const obj ={name:'张三'}
  29. const resFn = fn.call(obj)
  30. resFn();

事件循环机制

  1. 记住先微后宏, 即时在指向宏任务,只要有新的微任务加进来 就得先指向微任务, 例如settimeout中的promise
  2. 因为promise是微任务 所有.then也是微任务
  3. resolve执行一次就返回结果后 再调用也不会返回结果了

image.png

经典题1

image.png
image.png

经典题2

image.png
输出顺序: 3 7 4 1 2 5

  1. reslove(1) 先添加进微任务队列 reslove2后添加 所有1比2快输出
  2. reslove只能一次 所以reslove(6)会执行但不会输出

    隐式类型转化

    image.png
    image.png
    image.png

    Vue

    data为什么是函数

    image.png

    vue和react的数据流

    image.png

    组件中监听vuex的数据变化

    image.png

    computed和watch之间的区别:

    image.png

  3. computed能完成的功能,watch都可以完成。

  4. watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作。

两个重要的小原则:

  1. 所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm 或 组件实例对象。
  2. 所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数),最好写成箭头函数,这样this的指向才是vm 或 组件实例对象。

    应用场景

    image.png
    image.png

    nuxt.js项目

    服务器渲染框架
    image.png

    vue单页面和多页面

    image.png

    history模式下 404

    需要服务器配置路由重写指向index.html

vue reacr数据流image.png

React

Redux是如何将State主人椅到React组件上去

Redux在时机项目中的使用及问题

React中的Hook