F2E知识点整理
F2E、
2018-10-16
资料整理
ECMAscript:
ES5:
- MVC、MVVM
- ECMAScript、文档对象模型(DOM)、游览器对象模型(BOM)
- 变量、(变量声明、变量赋值)=> 变量的初始化
- 基本数据类型(数字、字符串、Boolean、undefined、null)、引用数据类型(对象)、ES6新增(symbol)
- bind、call、apply
- event loop,任务栈,宏任务,微任务(js线程)
- 事件捕获,事件目标,事件冒泡,事件代理~事件委托(叫法不同或者说主体不同)
- 类,类的继承,super
- 原型,继承
- session,cookie,sessionStorage,localStroage
- 红黑树算法,二叉树算法
- bind,call,apply
- 闭包,清内存,赋值为null
- 网络强缓存,弱缓存(协商缓存)
- js语句、js表达式
- 函数声明 、函数表达式(声明提升)
- 高阶函数、纯函数、函数柯里化
- 面向对象编程、面向函数编程
- set
- 修饰器 - 编译时执行的函数
- AMD/CMD、commonjs
- 匿名函数
- 隐式换算
- 4种函数调用模式(this)有四种模式,函数调用,方法调用,.call() 和 .apply()。
- JavaScript 中的迭代器(iterators)和迭代(iterables)是什么? 你知道什么是内置迭代器吗?
- JSON.parse(JSON.stringify(Obejct))的注意点
- 单向数据流和双向数据绑定
- httpXMLrequest、fetch、axios、ajax
- 使用单页应用将文件上传到服务器的有哪些方法(XMLHttpRequest2(streaming),fetch(non-streaming),File API)
ES6
- let、const
- () => {}
- class、class
extend - 对象初始化
- 简写方法名 const object = {functionName () {}}
- 装饰器写法(修饰器decorator => ES6)(@connet)
- 赋值解构
- rest
- import、export
Object:
- Object.keys(obj)
- Object.assign()
- Object.defineProperty(obj, key, props)
Array:
- Array.from()
- Array.prototype.includes()
- Array.prototype.map()
- Array.prototype.filter()
- Array.prototype.every()、Array.prototype.some()
- Array.prototype.reduce()
DOM:
DOM:
- nodeType(1,2,3)
- nodeName
- nodeValue
- firstChild
- attributes => removeAttribute & addAttribute
- createDocumentFragment
- appendChild
STYLE:
CSS:
- 两列自适应
- 边距塌陷
- BFC
- 伪元素,伪类
- css - mask镂空
- clip-path裁剪
- 自定义css属性
- :empty
- position: [relative, absolute, fixed, static, inherit, sticky]
- 重绘和重排
- CSS Flex / CSS Grid(网格)布局
Less:
- 变量 - @
- 混合 -
() - 函数
- @import
Sass:
- 变量 - $
- 插值 - #{}
- @import 和 _
- font的合并处理
- @extend
- 占位选择器 - %
- !optional标记
- @at-root
- @debug、@warn、@error
- 函数 - if()
- 指令 - @if、 @else if、@else
- 指令 - @for $var from
through 、@for $var from to - 指令 - @each $var in
- 指令 - @while
- @mixin
($var1, $var2) @include @content - @function
Vue:
Vue:
- props,$emit,ref,$parent,$children
- slot,slot-scope
- 无渲染组件 - 组件负责行为,调用方负责表现
- extend
- 内置组件 component
- provide / inject - 跨组件访问
- 为什么vue data 是一个函数
- 指令: v-cloak v-pre v-once
- 自定义指令 - directive(bind、inserted、update、componentUpdated、unbind)
- v-for循环分组实现(template)
Vue-router:
- scrollBehavior
React:
React:
- jsx
- ReactDOM.render()
- 组件、元素、实例
- state、props
- 时间处理(bind(this)) => bind、apply、call
- 高阶组件(HOC)
- 纯组件(SFC、函数式无状态组件
- 纯函数
- 受控组件、非受控组件
- 生命周期:constructor => componentWillMount => render => componentDidMount
- propTypes
- ref
- 异步处理redux:redux-chunk、redux-saga
- context
- getDerivedStateFromProps,getSnapshotBeforeUpdate @version 16.4
- 增加Pointer Events @version 16.6
- React.memo(【函数组件】) ~ React.PureComponent 【memoization => 缓存】
- React.lazy(() => import【组件】)
- static contextType
- static getDerivedStateFromError()
- Suspense组件【悬念组件?】
- 废弃 React.StrictMode
dva
- redux-saga
其他:
网络协议:
- HTTP1.1和HTTP1.0
- 强缓存、弱缓存(协商缓存)