美文网首页
前端学习大纲-基础篇

前端学习大纲-基础篇

作者: 陌上桑_浅 | 来源:发表于2019-08-26 15:06 被阅读0次

    js基础

    • 数组操作

      • 哪些会改变原数组(pop、splice、reverse等等)

      • 哪些不会改变原数组(map、reduce、filter等)

      • 生成数组的几种方法和区别

      • 数组去重的几种方式

    • 函数

      • 变量提升

      • 具名函数与匿名函数的特性和区别

      • 异步函数的发展史(callback->generator->promise->async/await)

      • 函数链式调用、函数柯里化

      • arguments对象(取参数、caller、callee)

      • 函数作用域链怎么生成

      • 块级作用域(if else、try catch、let的效果)

    • 对象

      • 宿主对象、原生对象、内置对象

      • 深拷贝浅拷贝实现

      • 对象解构,扩展运算符

      • 对象的几种创建方式

      • Object.defineProperty

      • (次要)Proxy与Reflect

    • 值比较

      • ==与===区别

      • 抽象相等比较算法&toPrimitive方法

    • this

      • 隐式绑定与显示绑定,各种绑定this方式的优先级

      • bind、call、apply绑定的区别与源码实现

      • new的原理

      • 几种继承方式:原型链继承、组合继承、寄生组合继承(constructor的丢失问题)等等的实现与优缺点

      • 箭头函数与普通函数的几个区别

      • 严格模式下的this

    • 原型链

      • 记住原型链从末段到顶端的模型

      • Object与Function的关系

      • proto与prototype的含义

      • 类型判断几种方法的区别和具体实现

    • promise

      • 实现原理和PromiseA+规范

      • promise、promise.then与setTimeout的执行顺序(涉及Event Loop的原理)

      • async、await与Generator的关系

      • promise.all、promise.race、promise.catch、deferred对象等细节

    • 正则表达式

      • 分组、分支、单行、多行、全局、match、exec、RegExp

      • 正则的回溯问题

      • 正则在split、replace中的使用

    • 内存泄漏问题

      • 出现情况、如何避免

      • 垃圾回收机制(引用计数算法、标记清除算法、标记压缩算法等等)

    • 其他问题

      • 数字精度问题

      • 位运算的实际应用

      • 进制转换

      • 节流、防抖的实现

      • 中间件的原理实现

      • 几种设计模式的概念

    • 数据结构

      • 队列、栈、链表

      • 二叉树、二分搜索树

      • 堆、最小堆、最大堆

      • 几种排序算法(冒泡、插入、选择、快排)的实现和复杂度比较

      • 具体算法题刷LeetCode

    • 浏览器

      • HTML

        • 事件模型

        • 捕获阶段、冒泡阶段、目标阶段

        • 事件委托

        • DOM0级事件、DOM2级事件

      • Storage

        • localStorage的兼容问题

        • 使用localStorage缓存数据和资源

        • XHTML、HTM4、HTML5的区别

      • css

        • 格式化上下文:BFC、IFC、FFC、GFC概念和应用

        • 块级元素、行内元素的区别

        • css选择器权重算法

        • 样式优先级

        • 移动端ios的穿透问题和300毫秒点击延迟问题

        • css的baseline概念

        • css3新属性/伪类

      • http相关

        • 强缓存、协商缓存机制

        • expire、cache-control

        • last-modified、eTag

        • http各个状态码的概念

        • http2.0与1.0、1.1的区别

      • cookie

        • 如何读写

        • 设置过期时间

        • 设置domain限制、了解domain匹配规则

        • cookie与sessonId的关联

      • ajax请求

        • XMLHttpRequest的使用

        • CORS的简单请求、复杂请求区别

        • 在不同浏览器的兼容

        • ajax的五种状态

        • 和fetch的比较

        • 与form表单请求的区别

        • 几种跨域请求的方式对比(jsonp、CORS、iframe、postMessage等等)

      • 安全防范

        • xss攻击

        • 转义处理、CSP内容安全策略

        • 处理富文本编辑器(设置白名单)

        • CSRF攻击

        • cookie

        • token

      • 浏览器渲染

        • 浏览器渲染过程、输入URL到页面渲染的过程

        • 合成层的原理/GPU加速原理

      • 性能优化

        • 重绘、重排的原理、如何引起如何减少

        • http缓存,见上

        • script的摆放和和defer、async属性

        • chrome的preload、prefetch

        • window.Performance进行页面性能监控(白屏时间、首屏时间、可交互时间等等的计算)

        • CDN加速(原理)、资源合并、压缩

        • 尽量使用css代替js,减少script执行时间

        • gzip压缩

      • (次要)几条浏览器线程的作用

    相关文章

      网友评论

          本文标题:前端学习大纲-基础篇

          本文链接:https://www.haomeiwen.com/subject/gpgrectx.html