javascript学习目录

javascript学习目录

大家好,又见面了,我是全栈君。

前面的话

  javascript是一门充满活力、简单易用的语言,又是一门具有许多复杂微妙技术的语言。即使是经验丰富的javascript开发者,如果没有认真学习的话,也无法真正理解它们,这就是javascript的矛盾之处。由于javascript不必理解就可以使用,因此通常来说很难真正理解语言本身,这就是我们面临的挑战。不满足于只是让代码正常工作,而是想要弄清楚为什么,勇于挑战这条崎岖颠簸的少有人走的路,拥抱整个javascript

  纷繁复杂的库,大多都以javascript为基础。实际上,前端工程师很大程度上指javascript工程师。前端入门容易精通难,说的是前端,更指的是javascript。如果把掌握HTML和CSS作为进入”前端大学“的高中知识贮备,那么javascript就是”前端大学“的主修课程,如何在”毕业“后成功开启自己的前端人生,要看javascript知识学得深不深,理解得透彻不透彻,所以在javascript上投入多少时间都不为过

  小火柴将javascript的知识体系进行了梳理和归纳,总结成以下目录

 

ECMA

基础语法

【基础】

  词法结构

  变量和标识符

  属性和变量

  表达式

  严格模式

  内存管理及垃圾回收

  动态脚本

【运算符】

  运算符语法概述  

  算术运算符

  关系运算符

  逻辑运算符

  位运算符

  条件、逗号、赋值、()和void运算符

【语句】

  表达式语句、块语句、空语句和声明语句

  条件语句、循环语句和跳转语句

  eval和with

 【规范】

  javascript编码标准

  关于javascript代码优化的8点建议

 

数据类型

【基础】

  15种原生对象类型系统综述

  原始值和复杂值

  包装对象

【基本类型】

  Undefined和Null

  Boolean布尔类型

  Number数字类型 

  Math对象

  String字符串类型

  String字符串类型的属性和方法

【构造器类型】

  正则表达式基础语法

  RegExp正则类型

  Array数组类型

  22种数组方法

  数组复制

  字符串和数组的方法比较

  错误处理机制

【日期对象】

  日期和时间基础知识

  Date日期对象

  简易日历实现

  日期联动效果

【类型识别】

  四种类型识别的方法   

  数组检测方式

【类型转换】

  toString()

  valueOf()

  数据类型转换

【函数】

  函数概述

  函数参数

  函数的属性和方法

  ES6函数扩展

  函数式编程

  高阶函数

  函数柯里化

  函数节流和函数防抖

  惰性函数

【对象】

  初识对象

  对象的属性操作

  对象的属性描述符

  对象拷贝

 

难点重点

【作用域】

  内部原理

  词法作用域和动态作用域

  声明提升(hosting)

  块作用域

  一张图理解执行环境和作用域

【闭包】

  到底什么才闭包

  从执行环境角度看闭包

  IIFE

  常见的一个循环和闭包的错误详解

  闭包的10种形式

【this】

  this的4种绑定规则

  this绑定优先级

  箭头函数

【继承实现】

  一张图理解prototype、proto和constructor的三角关系

  构造函数和原型对象

  创建对象的5种模式

  实现继承的3种形式

  面向对象的6个概念

 【模块化】

  实现javascript下的模块组织

  CommonJS规范及Node模块实现

  使用Browserify来实现CommonJS的浏览器加载

  AMD及requireJS

  r.js打包

  CMD及seaJS

  ES6中的Module

 

DOM

节点

【节点类型】

  节点类型概述

  文本节点

  注释节点和文档类型节点

  文档片段节点

  元素节点

  特性节点

  文档节点

【获取节点】

  元素选择器

  getElementsByClassName

  selector选择器

  动态集合

【节点操作】

  节点关系

  节点操作

  节点内容

  节点遍历

  节点范围

  区分元素特性和对象属性

 

脚本化CSS

  脚本化行间样式

  查询计算样式

  脚本化CSS类

  脚本化样式表

  动态样式

  脚本化伪元素  

 

表单脚本

  表单对象

  表单字段

  选择文本

  选择框脚本

  富文本编辑

 

元素尺寸

  偏移offset

  客户区Client

  滚动Scroll

  回到顶部

  元素视图方法

 

事件

【事件机制】

  事件流

  事件处理程序

  事件对象

  事件模拟

  事件循环

【事件类型】

  鼠标事件

  键盘事件

  变动事件

  剪贴板事件

  文本事件

  加载事件

  焦点管理

 

动画

拖拽

  原生拖放

  模拟拖拽

  磁性吸附

  碰撞检测

  拖拽改变元素大小

  模拟滚动条

 

运动

  匀速运动

  变速运动

  曲线运动

  抖动

  缓冲运动和弹性运动

  投掷和轨迹

  鼠标跟随运动

  碰壁运动

  碰撞运动

  时间版运动

  velocity.js的使用

  tween.js的使用

  帧动画

 

canvas

  canvas基础语法

  canvas图形处理和进阶用法

  canvas图形绘制

  canvas图像编辑

  canvas贝塞尔曲线演示

  canvas自适应圆形时钟

  canvas粒子时钟

  canvas动态小球重叠效果

  canvas探照灯效果

  canvas粒子系统的构建

 

SVG

  SVG基本形状和样式设置

  SVG文本

  SVG路径

  SVG贝塞尔曲线演示

  SVG辅助标签

  SVG视野

  SVG坐标系统及图形变换

  SVG渐变

  SVG图案

  SVG裁切和蒙版

  SVG动画

  SVG基本操作API

  

AJAX

【基础】

  JSON

  XHR对象

  请求方式

  响应解码

  FormData

  进度事件

  头部信息

  传递JSON

  表单提交

  jQuery中的ajax

【跨域】

  CORS

  图片Ping

  JSONP

  iframe跨域   

 

存储

  Cookie

  IE userData

  Web Storage

  Blob

  文件File

 

BOM

【定时器】

  setTimeout()和setInterval()

  requestAnimationFrame()

  定时器应用(时钟、倒计时、秒表和闹钟)

 【window属性】

  对话框

  窗口操作

  location对象

  history对象

  screen对象

  navigator对象和用户代理检测

  能力检测

 【HTML5】

  Web计时机制

  Web Worker

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108627.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月1日 下午8:00
下一篇 2022年3月1日 下午9:00


相关推荐

  • 新浪实时股票接口大全

    新浪实时股票接口大全股票数据的获取今朝有如次两种要领可以获取 1 http javascript 接口取数据 2 service 接口 1 http javascript 接口取数据 1 1Sina 股票数据接口 以大秦铁路 股票 为例 如果要获取它的最新行情 只需拜候新浪的股票数据 接口 http hq sinajs cn list sh 这个 ur

    2026年3月18日
    2
  • Matlab绘图(一二三维)

    Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,M

    2021年12月22日
    41
  • 输出数组的全排列java_java用sort对一个数组排序

    输出数组的全排列java_java用sort对一个数组排序packagetest;importjava.util.ArrayList;importjava.util.List;publicclass Test{staticList<int[]>allSorts=newArrayList<int[]>();publicstaticvoidpermutation(int[]nums,i…

    2022年10月11日
    4
  • SparkStreaming的介绍及原理

    SparkStreaming的介绍及原理一、SparkStreaming的介绍1.离线和流处理的区别1)离线处理是针对一个批次,这个批次一般情况下都比较大流处理对应的数据是连续不断产生,处理时间间隔非常短的数据2)离线处理程序,因为数据是有限的(bounded),所以会终止流数据因为是连续不断的产生,所以数据是无限的(unbounded)由于数据的特征,一般离线处理比较缓慢,流数据处理相对较快流处理:…

    2022年6月20日
    40
  • 【懒人必备】智能窗帘机器人,告别手动拉窗帘——硬件设计篇

    【懒人必备】智能窗帘机器人,告别手动拉窗帘——硬件设计篇简介:智能窗帘机器人方案,无需专业人员上门安装,使普通窗帘秒变智能窗帘。概述随着智能家居的深入拓展,智能窗帘凭借成熟的技术和产品,逐步成为了智能家居家庭中的标配,在家装智能化市场有很高的应用价值。目前智能窗帘的产品主要以电动窗帘产品为主,该产品主要通过电机驱动实现对窗帘的操控,从安装上讲,该产品更适合前装市场,因为需要结合用户户型、门窗大小预留安装空间和电源接口。对于后装市场,往往需要专业人员上门丈量确认是否符合改装要求,大大增加了安装成本,因此目前市场上,出现的小型的窗帘机器人,完美解决的后装市场的

    2022年6月23日
    38
  • 工业大数据漫谈5:工业大数据案例(上)

    工业大数据漫谈5:工业大数据案例(上)今天,整理了一些工业大数据的相关案例,看看各家企业是如何成功实施工业大数据的。    1、能够实现全生产过程的信息透明化的案例    通过采用集成自动化与驱动解决方案,能够显著提高生产效率和灵活性。原东德玻璃制造商f|glass就是一个很好的实例。它的工厂可以算得上是全世界最先进、最节能的工厂之一了。该工厂采用了一套集成自动化解决方案、一个先进的能源管理系统以及一个创新

    2022年6月5日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号