F2E知识点整理

ECMAscript:

ES5:

  1. MVC、MVVM
  2. ECMAScript、文档对象模型(DOM)、游览器对象模型(BOM)
  3. 变量、(变量声明、变量赋值)=> 变量的初始化
  4. 基本数据类型(数字、字符串、Boolean、undefined、null)、引用数据类型(对象)、ES6新增(symbol)
  5. bind、call、apply
  6. event loop,任务栈,宏任务,微任务(js线程)
  7. 事件捕获,事件目标,事件冒泡,事件代理~事件委托(叫法不同或者说主体不同)
  8. 类,类的继承,super
  9. 原型,继承
  10. session,cookie,sessionStorage,localStroage
  11. 红黑树算法,二叉树算法
  12. bind,call,apply
  13. 闭包,清内存,赋值为null
  14. 网络强缓存,弱缓存(协商缓存)
  15. js语句、js表达式
  16. 函数声明 、函数表达式(声明提升)
  17. 高阶函数、纯函数、函数柯里化
  18. 面向对象编程、面向函数编程
  19. set
  20. 修饰器 - 编译时执行的函数
  21. AMD/CMD、commonjs
  22. 匿名函数
  23. 隐式换算
  24. 4种函数调用模式(this)有四种模式,函数调用,方法调用,.call() 和 .apply()。
  25. JavaScript 中的迭代器(iterators)和迭代(iterables)是什么? 你知道什么是内置迭代器吗?
  26. JSON.parse(JSON.stringify(Obejct))的注意点
  27. 单向数据流和双向数据绑定
  28. httpXMLrequest、fetch、axios、ajax
  29. 使用单页应用将文件上传到服务器的有哪些方法(XMLHttpRequest2(streaming),fetch(non-streaming),File API)

ES6

  1. let、const
  2. () => {}
  3. class、class extend
  4. 对象初始化
  5. 简写方法名 const object = {functionName () {}}
  6. 装饰器写法(修饰器decorator => ES6)(@connet)
  7. 赋值解构
  8. rest
  9. import、export

Object:

  1. Object.keys(obj)
  2. Object.assign()
  3. Object.defineProperty(obj, key, props)

Array:

  1. Array.from()
  2. Array.prototype.includes()
  3. Array.prototype.map()
  4. Array.prototype.filter()
  5. Array.prototype.every()、Array.prototype.some()
  6. Array.prototype.reduce()

DOM:

DOM:

  1. nodeType(1,2,3)
  2. nodeName
  3. nodeValue
  4. firstChild
  5. attributes => removeAttribute & addAttribute
  6. createDocumentFragment
  7. appendChild

STYLE:

CSS:

  1. 两列自适应
  2. 边距塌陷
  3. BFC
  4. 伪元素,伪类
  5. css - mask镂空
  6. clip-path裁剪
  7. 自定义css属性
  8. :empty
  9. position: [relative, absolute, fixed, static, inherit, sticky]
  10. 重绘和重排
  11. CSS Flex / CSS Grid(网格)布局

Less:

  1. 变量 - @
  2. 混合 - ()
  3. 函数
  4. @import

Sass:

  1. 变量 - $
  2. 插值 - #{}
  3. @import 和 _
  4. font的合并处理
  5. @extend
  6. 占位选择器 - %
  7. !optional标记
  8. @at-root
  9. @debug、@warn、@error
  10. 函数 - if()
  11. 指令 - @if、 @else if、@else
  12. 指令 - @for $var from through 、@for $var from to
  13. 指令 - @each $var in
  14. 指令 - @while
  15. @mixin ($var1, $var2) @include @content
  16. @function

Vue:

Vue:

  1. props,$emit,ref,$parent,$children
  2. slot,slot-scope
  3. 无渲染组件 - 组件负责行为,调用方负责表现
  4. extend
  5. 内置组件 component
  6. provide / inject - 跨组件访问
  7. 为什么vue data 是一个函数
  8. 指令: v-cloak v-pre v-once
  9. 自定义指令 - directive(bind、inserted、update、componentUpdated、unbind)
  10. v-for循环分组实现(template)

Vue-router:

  1. scrollBehavior

React:

React:

  1. jsx
  2. ReactDOM.render()
  3. 组件、元素、实例
  4. state、props
  5. 时间处理(bind(this)) => bind、apply、call
  6. 高阶组件(HOC)
  7. 纯组件(SFC、函数式无状态组件
  8. 纯函数
  9. 受控组件、非受控组件
  10. 生命周期:constructor => componentWillMount => render => componentDidMount
  11. propTypes
  12. ref
  13. 异步处理redux:redux-chunk、redux-saga
  14. context
  15. getDerivedStateFromProps,getSnapshotBeforeUpdate @version 16.4
  16. 增加Pointer Events @version 16.6
  17. React.memo(【函数组件】) ~ React.PureComponent 【memoization => 缓存】
  18. React.lazy(() => import【组件】)
  19. static contextType
  20. static getDerivedStateFromError()
  21. Suspense组件【悬念组件?】
  22. 废弃 React.StrictMode

dva

  1. redux-saga

其他:

网络协议:

  1. HTTP1.1和HTTP1.0
  2. 强缓存、弱缓存(协商缓存)