前端--基础

原文链接:https://juejin.im/post/6844903830887366670

开篇

前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的。

winter 在他的《重学前端》课程中提到:

到现在为止,前端工程师已经成为研发体系中的重要岗位之一。可是,与此相对的是,我发现极少或者几乎没有大学的计算机专业愿意开设前端课程,更没有系统性的教学方案出现。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。

这样是一个非常真实的现状,实际上很多前端开发者都是自学甚至转行过来的,前端入门简单,学习了几个 API 以后上手做项目也很简单,但是这往往成为了限制自身发展的瓶颈。

只是停留在会用阶段是远远不够的,我们还需要不断探索和深入。现在市面上并不缺少学习教程,技术文章,如果盲目的学习你会发现看过以后的知识留存率会很低,而且发现没有了解到的知识越来越多,这会让人产生焦虑。

实际上,除了坚持学习的强大的自驱力,你还需要一个很简单的学习方法。那就是:建立自己的知识体系。它能帮助你更系统性的学习,同时你也时刻能知道自己哪些地方是不足的。

我会把我工作和学习中接触到的知识全部归纳到我的知识体系中,其中不仅仅包括我已经学过的,还有很多我没有来得及学习的。

这不仅仅是我的知识体系,更是我时刻提醒自己的自检清单。

下面我会把我的自检清单分享给大家,你可以按照清单上的知识检测自己还有哪些不足和提升,我也建议大家建自己的知识体系,这样工作或者学习甚至面试时,你能快速定位到知识清单中的点,如果你有哪些我没归纳到的点,欢迎在评论区告诉我。

一、JavaScript 基础

前端工程师吃饭的家伙,深度、广度一样都不能差。

变量和类型
1.JavaScript 规定了几种语言类型

2.JavaScript 对象的底层数据结构是什么

3.Symbol 类型在实际开发中的应用、可手动实现一个简单的 Symbol

4.JavaScript 中的变量在内存中的具体存储形式

5.基本类型对应的内置对象,以及他们之间的装箱拆箱操作

6.理解值类型和引用类型

7.null 和 undefined 的区别

8.至少可以说出三种判断 JavaScript 数据类型的方式,以及他们的优缺点,如何准确的判断数组类型

9.可能发生隐式类型转换的场景以及转换原则,应如何避免或巧妙应用

10.出现小数精度丢失的原因,JavaScript 可以存储的最大数字、最大安全数字,JavaScript 处理大数字的方法、避免精度丢失的方法

原型和原型链
1.理解原型设计模式以及 JavaScript 中的原型规则

2.instanceof 的底层实现原理,手动实现一个 instanceof

4.实现继承的几种方式以及他们的优缺点

5.至少说出一种开源项目(如 Node)中应用原型继承的案例

6.可以描述 new 一个对象的详细过程,手动实现一个 new 操作符

7.理解 es6 class 构造以及继承的底层实现原理

作用域和闭包
1.理解词法作用域和动态作用域

2.理解 JavaScript 的作用域和作用域链

3.理解 JavaScript 的执行上下文栈,可以应用堆栈信息快速定位问题

4.this 的原理以及几种不同使用场景的取值

5.闭包的实现原理和作用,可以列举几个开发中闭包的实际应用

6.理解堆栈溢出和内存泄漏的原理,如何防止

7.如何处理循环的异步操作

8.理解模块化解决的实际问题,可列举几个模块化方案并理解其中原理

执行机制
1.为何 try 里面放 return,finally 还会执行,理解其内部机制

2.JavaScript 如何实现异步编程,可以详细描述 EventLoop 机制

3.宏任务和微任务分别有哪些

4.可以快速分析一个复杂的异步嵌套逻辑,并掌握分析方法

5.使用 Promise 实现串行

6.Node 与浏览器 EventLoop 的差异

7.如何在保证页面运行流畅的情况下处理海量数据

语法和 API
1.理解 ECMAScript 和 JavaScript 的关系

2.熟练运用 es5、es6 提供的语法规范,

3.熟练掌握 JavaScript 提供的全局对象(例如 Date、Math)、全局函数(例如 decodeURI、isNaN)、全局属性(例如 Infinity、undefined)

4.熟练应用 map、reduce、filter 等高阶函数解决问题

5.setInterval 需要注意的点,使用 settimeout 实现 setInterval

6.JavaScript 提供的正则表达式 API、可以使用正则表达式(邮箱校验、URL 解析、去重等)解决常见问题

7.JavaScript 异常处理的方式,统一的异常处理方案

二、HTML 和 CSS

HTML
1.从规范的角度理解 HTML,从分类和语义的角度使用标签

2.常用页面标签的默认样式、自带属性、不同浏览器的差异、处理浏览器兼容问题的方式

3.元信息类标签(head、title、meta)的使用目的和配置方法

4.HTML5 离线缓存原理

5.可以使用 Canvas API、SVG 等绘制高性能的动画</

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值