JavaScript学习提纲

### JavaScript学习提纲

#### 一、基础知识

1. **Web基础**

– HTML简介

– CSS简介

– 浏览器工作原理

2. **JavaScript入门**

– JavaScript的定义与重要性

– ECMAScript标准概览

– 在HTML中使用JavaScript

3. **语法与数据类型**

– 变量声明(var, let, const)

– 数据类型(字符串、数字、布尔值、null、undefined)

– 运算符与表达式

4. **流程控制**

– 条件语句(if-else, switch-case)

– 循环语句(for, while, do-while)

– 跳转语句(break, continue)

5. **函数与对象**

– 函数定义与调用

– 对象创建与属性操作

– 原型链与继承

#### 二、进阶知识

6. **ES6+新特性**

– let和const声明

– 箭头函数

– 模板字符串

– 解构赋值

– Promise与异步编程

– async/await语法

7. **面向编程**

– 类的定义与实例化

– 封装、继承和多态

– 更复杂的对象结构(Map, Set, WeakMap等)

8. **模块化开发**

– CommonJS规范

– AMD/CMD规范

– ES Modules

– 包管理工具(npm, yarn)

9. **DOM操作与事件**

– DOM树结构理解

– 常用DOM方法和属性

– 事件监听与处理机制

– 事件委托

10. **错误处理与调试**

– 捕获与处理异常

– 使用浏览器的开发者工具进行调试

#### 三、实战演练

11. **小型项目实践**

– 待办事项列表

– 简单的计算器应用

– 图片轮播效果制作

12. **流行框架与库**

– React基础与实战

– Vue.js基础与实战

– jQuery选择器与DOM操作

13. **性能优化与最佳实践**

– 代码压缩与合并

– 图片懒加载技术

– 缓存策略制定

#### 四、持续发展

14. **关注行业动态**

– 跟踪JavaScript相关的博客和新闻

– 参加线上技术交流会

15. **拓展技能树**

– 学习Node.js后端开发

– 探索GraphQL数据查询语言

– 了解WebAssembly应用场景

### 学习资源推荐

#### 在线课程

– [MDN Web Docs](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript):权威的JavaScript文档和教程。

– [慕课网](https://www.imooc.com/learn/348):提供JavaScript及相关技术的在线课程。

– [网易云课堂](https://study.163.com/):搜索JavaScript相关课程进行学习。

– [Coursera](https://www.coursera.org/):有许多知名大学提供的JavaScript相关课程。

#### 书籍

– 《JavaScript高级程序设计》(红皮书)

– 《你不知道的JavaScript》系列(上、中、下卷)

– 《ES6标准入门》

#### 实战项目

– [CodePen](https://codepen.io/):在线编写并分享HTML、CSS和JavaScript代码。

– [GitHub](https://github.com/):参与开源项目或创建自己的仓库进行实践。

#### 论坛社区

– [Stack Overflow](https://stackoverflow.com/questions/tagged/javascript):全球最大的程序员问答社区之一。

– [知乎](https://www.zhihu.com/topic/19561723/hot):中文互联网上的知识分享平台。

– [掘金](https://juejin.cn/):专注于技术领域的社区,内容丰富多样。

#### 博客与公众号

– [阮一峰的网络日志](http://www.ruanyifeng.com/blog/):包含大量关于编程和技术趋势的文章。

– [前端开发博客](https://www.cnblogs.com/):众多前端开发者分享的技术文章。

### 学习建议

– **理论与实践相结合**:边学边练,通过实际操作加深理解。

– **定期复习巩固**:定期回顾所学知识,避免遗忘。

– **交流分享心得**:加入相关社群,与他人交流学习心得和遇到的问题。

遵循以上提纲和学习资源,坚持不懈地学习和实践,相信你一定能成为优秀的JavaScript开发者!

JavaEE知识体系知识点总结

  1. Java中的JDK、JRE、JVM的全称
  2. JDK、JRE、JVM它们作用是什么
  3. Java环境配置
  1. Java基本数据类型分别是什么,以及它们取值范围
  2. 不同类型相加 类型提升 比如 int 和short 相加的结果
  1. Java的流程控制关于循环的方式有几种?
  2. 在什么场景下使用什么循环
  3. Java中的数组分类?
  4. 一维数组、二维数组的定义方式,实例化的方式 赋值方式
  1. 方法重写
  2. 方法重载
  3. 你对多态的理解?
  4. 父子类中静态、构造代码块和构造方法的执行顺序

它们的三个关键字的作用是什么?分析从一下角度分析

  1. 方法
  2. 属性
  3. 静态代码块
  1. 接口特点 jdk8 之前和之后接口的特点,比如为什么添加默认方法、静态方法、私有方法,他们的作用是什么?
  2. 抽象类的特点
  3. 从面对对象编程角度去讲解他们的各自特点
  1. List Set Map 集合的特点
  2. 它们三个接口底层实现的类的底层的实现原理是什么?如ArrayList 、LinkedList、Vector、HashSet、TreeSet、HashMap、TreeMap、ConcurrentHashMap它们的底层实现
  3. 集合迭代的方式 ?比如 迭代器、For循环、关于Map集合迭代的两种方式
  4. List集合在迭代的时候,是否可以操作集合中的元素,对集合的数据进行删除或者修改
  5. 针对集合排序的方式,比如Set集合的排序、Map的集合的排序、Map中的key为自定义对象、或者是Value为自定义对象进行排序
  1. 关于IO流的分类、如输出流、输入流
  2. 字节流、字符流、对象流三种流读到文件末尾的判断方式
  3. 关于三种流追加写的问题,特别是对象流在实现数据追加写的时候注意点。特别是关于ObjectInputStream invalid type code: AC这个问题如何解决,可以参照网上相关的描述【https://blog.csdn.net/qq_20156289/article/details/108416887】,其实可以使用一次写入一次读出的方式来解决问题。
  4. 对象流中 对象为什么要实现序列化接口?实现序列化接口的目的是什么?
  5. 常用的面试的案例:如何实现文件拷贝
  6. 关于NIO的知识点、什么是NIO、NIO三大核心部分【Channel(管道)、Buffer(缓冲区)、Selector(选择器)】
  7. Java NIO 的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用数据,如果目前没有可用数据时,则说明不会获取,而不是保持线程阻塞,所以直到数据变为可以读取之前,该线程可以做其他事情。非阻塞写入同理
  8. 关于Java中NIO的案例
  1. 线程和进程的区别
  2. 线程的四种创建方式
  3. 线程之间的状态转换 及其调用什么方法到什么状态
  4. 线程终止的方式
  5. 生产者和消费者
  6. 线程中关于锁的机制
    1. 互斥锁
    2. 悲观锁和乐观锁
  1. 什么是泛型?泛型可以解决什么问题?
  2. 泛型在编程中的作用
    1. 泛型类
    2. 泛型方法
    3. 泛型通配符
  1. 什么是枚举
  2. 枚举的作用是什么
  1. 异常分类结构图
  2. 如何自定义异常、继承Exception、继承RuntimeException它们两种实现方式的区别是什么?
  3. 你常见的异常有哪些分别列举出来
  4. 异常的处理方式、try catch、throws 、throw 在什么情况下使用分别使用它们
  1. 网络编程的基础、了解OSI的七层模型、TCP/IP四层模型
  2. Java中常见的利用TCP、UDP进行编程
  3. 使用Apache的MINA进行网络编程
  1. String的特点,及其它API中常用的方法、不变模式理解
  2. StringBuffer 和StringBuilder的特点 他们toString方法的特点
  3. Object的中的clone的方法 equals 和hashcode的方法的特点
  4. == 和equals的区别
  5. 一个字符串,怎么判断里面有“abc”
  1. 常见的算法 如 冒泡排序 选择排序 二分查找 等
  2. 实现String中的内部的方法
  1. JVM如何调优
  2. Java中的垃圾回收机制是什么
  1. 数据库如何创建用户及其授权、 授权到某个数据库实例中的某个表
  2. 数据库的基本的语法 alter 修表结构 添加列 删除列 修改列
  3. Mysql的数据类型和约束分别是什么
  4. Mysql中的double和float是否存在精度丢失的问题?及其如何解决
  1. Mysql的函数分类如:数值、字符串、日期、聚合、分支
  2. 关于字符串和日期之前的转换
  3. 及其每个类别中列举常见的函数
  1. 分组查询的注意点
  2. 关联查询
    1. 自关联
    2. 内链接
    3. 外连接
      1. 左外联
      2. 右外联
  3. 子查询
  4. Mysql中的如何去重
  5. 公司相关的实战、一般是从建表,插入数据、给出问题、写出SQL
  1. 三种方式的理解
  2. 创建的语法
  1. Mysql的备份的语法
  2. Mysql数据备份【完整备份、增量备份、差异备份】
  3. Mysql的怎么提高查询效率
  4. Mysql的存储过程
  5. Mysql的数据库的引擎
  1. Css的盒子模型
  2. ID Class 选择器
  1. 数据类型
  2. === 和== 区别
  3. 常见的事件
  4. 常见的函数
  5. DOM的操作
  1. 布局的容器
  2. 栅格系统
  3. 常见控件
  1. Ajax的编程步骤
  2. Ajax的响应的状态
  1. 选择器
  2. 和ajax的集成操作
  1. json数据格式
  2. Json和字符串的相互转换
  3. 常用的Json的框架
  1. Tomcat的配置方式
  2. Tomcat的每个目录的作用
  3. Tomcat的修改端口号和配置用户
  4. 把项目发布到Tomcat的三种方式
  1. 什么是Servlet
  2. Servlet的实现的方式
  3. Servlet的执行流程和生命周期
  4. Servlet中异步处理
  5. Servlet中 session和cookie
  6. Servlet中的会话跟踪
  7. Servlet数据设置的范围
  8. Servlet中的过滤器和监听器
  9. get和post提交的区别
  1. 什么是Jsp ,及其全称是什么?
  2. Jsp的执行流程
  3. Jsp的内置对象
  4. JSP的作用
  1. 什么是Spring及其Spring的组成部分
  2. Spring的IOC和Aop的理解及其底层的实现
  3. Spring中Bean的作用域及其生命周期
  4. Spring中的事务
  5. Spring中的关于验证的方式
  1. 什么是MyBatis?
  2. Mybatis的开发步骤和配置文件
  3. Mybatis的常见的标签 比如resultMap resultType collection association 作用及其标签中的元素
  4. Mybatis的查询的方式
    1. 关联查询
    2. 分布查询
  5. Mybatis的动态sql和静态sql的区别
  6. Mybatis的缓存技术
  7. Mybatis的增强版
    1. Mybatis-Flex
    2. Mybatis-Plus
    3. Mybatis-Flex 仅依赖 Mybatis,体积极轻,无其他第三方依赖。使用简单,不会因版本更新而导致依赖冲突。
    4. Mybatis-Plus 除 Mybatis 外,还依赖其他工具,体积较大,存在一定版本依赖风险。
  8. 你平时用mybtis完成一套增删改查,具体的操作流程是什么?
  1. 常用的注解
  2. 静态资源的访问
  3. 执行流程
  4. 开发步骤和常用的配置文件 配置文件中具体配置的内容
  5. 和第三方框架的如何集成
  6. 两者之间的区别
  7. ssm开发的步骤及其配置文件具体配置的内容
  1. 创建 Vue3 工程
    1. 使用 vue-cli 创建
    2. 使用 vite 创建
  2. 常用 Composition API
  3. 其它 Composition API
  4. Composition API 的优势
  5. 新的组件、路由、数据存储
  1. 什么是Maven及其Maven作用
  2. 用Maven如何构建项目
  3. Maven的常用的命令
  1. Git的作用
  2. 利用Git如何提交 拉取 解决冲突 如何建立分支 合并分支
  1. Svn的作用
  2. 利用Svn如何提交 拉取 解决冲突 如何建立分支 合并分支
  1. 他们的区别
  1. 关于用户模块权限设计和实现权限的技术【Spring Security 和 Shiro】如何在项目中去选择
  2. 微服务、Linux相关的知识点

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。