最全javascript学习指南,快速了解从入门到精通需要掌握哪些知识
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES2015。
通过使用指南和教程来学习如何用JavaScript语言编程。
一些基本问题,比如“JavaScript 是什么?”、“它是怎么样的?”、“它可以用来做什么?”;同时还讨论如变量、字符串、数值和数组等 JavaScript 的核心特性。我们需要关注常见的代码块类型,如条件语句,循环,函数和事件。如果你想进一步使用该语言撰写更有效率的代码,理解 JavaScript 面向对象的精髓是很重要的。
好吧,上面太全了,来点精简版:
肉容中包含了ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。
ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。
ES6+常用的知识点结合如下:
- 前言
- ECMAScript 6简介
- let 和 const 命令
- 变量的解构赋值
- 字符串的扩展
- 字符串的新增方法
- 正则的扩展
- 数值的扩展
- 函数的扩展
- 数组的扩展
- 对象的扩展
- 对象的新增方法
- 运算符的扩展
- Symbol
- Set 和 Map 数据结构
- Proxy
- Reflect
- Promise 对象
- Iterator 和 for…of 循环
- Generator 函数的语法
- Generator 函数的异步应用
- async 函数
- Class 的基本语法
- Class 的继承
- Module 的语法
- Module 的加载实现
- 编程风格
- 读懂规格
- 异步遍历器
- ArrayBuffer
- 最新提案
- Decorator
- JavaScript 简介
- 手册与规范
- 代码编辑器
- 开发者控制台
- Hello, world!
- 代码结构
- 现代模式,\”use strict\”
- 变量
- 数据类型
- 交互:alert、prompt 和 confirm
- 类型转换
- 基础运算符,数学
- 值的比较
- 条件分支:if 和 \’?\’
- 逻辑运算符
- 空值合并运算符 \’??\’
- 循环:while 和 for
- \”switch\” 语句
- 函数
- 函数表达式
- 箭头函数,基础知识
- JavaScript 特性
- 在浏览器中调试
- 代码风格
- 注释
- 忍者代码
- 使用 Mocha 进行自动化测试
- Polyfill 和转译器
- 对象
- 对象引用和复制
- 垃圾回收
- 对象方法,\”this\”
- 构造器和操作符 \”new\”
- 可选链 \”?.\”
- 对象 — 原始值转换
- 数据类型
- 原始类型的方法
- 数字类型
- 字符串
- 数组
- 数组方法
- Iterable object(可迭代对象)
- Map and Set(映射和集合)
- WeakMap and WeakSet(弱映射和弱集合)
- Object.keys,values,entries
- 解构赋值
- 日期和时间
- JSON 方法,toJSON
- 递归和堆栈
- Rest 参数与 Spread 语法
- 变量作用域,闭包
- 旧时的 \”var\”
- 全局对象
- 函数对象,NFE
- \”new Function\” 语法
- 调度:setTimeout 和 setInterval
- 装饰器模式和转发,call/apply
- 函数绑定
- 深入理解箭头函数
- 属性标志和属性描述符
- 属性的 getter 和 setter
- 原型继承
- F.prototype
- 原生的原型
- 原型方法,没有 __proto__ 的对象
- Class 基本语法
- 类继承
- 静态属性和静态方法
- 私有的和受保护的属性和方法
- 扩展内建类
- 类检查:\”instanceof\”
- Mixin 模式
- 错误处理,\”try…catch\”
- 自定义 Error,扩展 Error
- 简介:回调
- Promise
- Promise 链
- 使用 promise 进行错误处理
- Promise API
- Promisification
- 微任务(Microtask)
- Async/await
- Generator
- 异步迭代和 generator
- 模块 (Module) 简介
- 导出和导入
- 动态导入
- Proxy 和 Reflect
- Eval:执行代码字符串
- 柯里化(Currying)
- Reference Type
- BigInt
学习如何管理浏览器页面:添加元素,操纵元素的大小和位置,动态创建接口并与访问者互动。
- 浏览器环境,规格
- DOM 树
- 遍历 DOM
- 搜索:getElement*,querySelector*
- 节点属性:type,tag 和 content
- 特性和属性(Attributes and properties)
- 修改文档(document)
- 样式和类
- 元素大小和滚动
- Window 大小和滚动
- 坐标
- 浏览器事件简介
- 冒泡和捕获
- 事件委托
- 浏览器默认行为
- 创建自定义事件
- 鼠标事件
- 移动鼠标:mouseover/out,mouseenter/leave
- 鼠标拖放事件
- 指针事件
- 键盘:keydown 和 keyup
- 滚动
- 表单属性和方法
- 聚焦:focus/blur
- 事件:change,input,cut,copy,paste
- 表单:事件和方法提交
- 页面生命周期:DOMContentLoaded,load,beforeunload,unload
- 脚本:async,defer
- 资源加载:onload,onerror
- DOM 变动观察器(Mutation observer)
- 选择(Selection)和范围(Range)
- 事件循环:微任务和宏任务
教程的前两部分未涉及的其他主题的内容列表。此处没有明确的层次结构,你可以按你需要的顺序阅读文章。
- 弹窗和 window 的方法
- 跨窗口通信
- 点击劫持攻击
- ArrayBuffer,二进制数组
- TextDecoder 和 TextEncoder
- Blob
- File 和 FileReader
- Fetch
- FormData
- Fetch:下载进度
- Fetch:中止(Abort)
- Fetch:跨源请求
- Fetch API
- XMLHttpRequest
- 可恢复的文件上传
- 长轮询(Long polling)
- WebSocket
- Server Sent Events
- Cookie,document.cookie
- LocalStorage,sessionStorage
- IndexedDB
- 贝塞尔曲线
- CSS 动画
- JavaScript 动画
- Web components
- 从星球轨道的高度讲起
- Custom elements
- 影子 DOM(Shadow DOM)
- Shadow DOM 插槽,组成
- 给 Shadow DOM 添加样式
- Shadow DOM 和事件(events)
- 模式(Patterns)和修饰符(flags)
- 字符类
- Unicode:修饰符 “u” 和 class \\p{…}
- 锚点(Anchors):字符串开始 ^ 和末尾 $
- Flag \”m\” — 多行模式
- 词边界:\\b
- 转义,特殊字符
- 集合和范围 […]
- 量词 `+,*,?` 和 `{n}`
- 贪婪量词和惰性量词
- 捕获组
- 模式中的反向引用:\\N 和 \\k<name>
- 选择(OR)|
- 前瞻断言与后瞻断言
- 灾难性回溯
- 粘性标志 \”y\”,在位置处搜索
- 正则表达式(RegExp)和字符串(String)的方法
最全js手册集合,助你升职又加薪,周末再也不加班了
知识点记不牢,不要紧,这不我给你整理了这些js手册,赶快收藏使用起来吧,有了这个宝典那写代码真的手到擒来,升职加薪那是免不了了,周末加班那肯定也会越来越少!
01 现代 JavaScript 教程
地址:https://zh.javascript.info/
推荐:★★★★★
简介:极力推荐,这真的是javascript的宝典,知识点与时俱进。它以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。
02 鼠标键盘对应的事件信息
地址:https://www.toptal.com/developers/keycode
推荐:★★★★★
简介:只需要在该窗口按下鼠标或键盘,就会清晰可视化相关事件信息!太赞了!
03 技术最全手册
地址:https://devdocs.io/
推荐:★★★★★
简介:面向开发人员的快速、离线和免费的文档浏览器。在一个 Web 应用程序中搜索 100 多个文档:HTML、CSS、JavaScript、PHP、Ruby、Python、Go、C、C++……
04 技术小tips
地址:https://www.jstips.co/
推荐:★★★★★
简介:这大约是每天一个 JavaScript技巧!JavaScript 资源、反应、角度、节点、性能、前端。
05 前端开发仓库
地址:http://code.ciaoca.com/
推荐:★★★★
简介:Web前端开发仓库,收录常用的JavaScript及jQuery插件,并提供在线演示效果。
06 廖雪峰的官方网站
地址:https://www.liaoxuefeng.com/
推荐:★★★★★
简介:廖雪峰的官方网站是一个完全免费的编程学习网站,非常良心好用。它界面简洁,分类清晰,每个教程的质量很高,每个教程都是针对零基础小白的学习教程,可以帮助你系统性地学习。
07 绿叶学习网
地址:http://www.lvyestudy.com/
推荐:★★★★
简介:绿叶学习网是一个放荡不羁、极具个性的网站。在这里,提供能够让你眼前一亮的教程、图书、视频等。适合入门学习!
08 新手js学习的福音
地址:https://developer.mozilla.org/
推荐:★★★★
简介:开放的 Web 为开发人员提供了难以置信的机会。充分利用这些技术,需要知道如何使用它们。你可以在下面找到我们的 Web 技术文档。
纯干货:node.js入门教程以及中文学习资源大搜罗!
node.js是Javascript的一个运行环境,也就是对Google V8引擎进行封装。node.js优化了特殊用例,还提供替代性强的API。基于此,今天W3Cschool小师妹将为大家带来史上最全的node.js中文学习资料整理,希望大家喜欢。
1.node.js
这部分主要包括node.js教程、被误解的node.js、node.js代码风格指南、node.js C++addon编写实战系列、node.js命令行程序开发教程等。实练可以帮助你一步一步的学习node.js,还有成千上万个案例。而Node.js教程、七天学会 Nodejs、NodeJS Express 说明书、[InfoQ]深入浅出Node.js迷你书、使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用、Node.js 命令行程序开发教程、Node.js 包教不包会这五本教程,相当详细。
2.Mysql 老牌关系型数据库/Redis 内存键值数据库
这部分收集的是和Mysql 老牌关系型数据库相关的资源,主要包括mysql、mysql处理BIGINT里面的一个坑、使用node-mysql中的连接池、mysql自动断开解决办法等,有需要的可以去123点W3Cschool点cn查看。
3.字符样式/工具类
字符样式资源中,需要重点介绍的是开源的简繁转换库OpenCC支持Node.js了。Open Chinese Convert(OpenCC)是开源的一个中文繁简转换的项目,主要的目标就是制作高质量的简繁转换词库,这个词库是基于统计预料。
4.实时应用web框架meteor/基于Express的实时MVC框架Sails
meteor这个web开发框架,让很多开发者感到震惊。因为这个框架和其他框架相比,简直太不一样了。它是基于nodejs以及MongoDB数据库的实时web框架,它前后端的代码,全部是基于JS来开发的。不仅如此,这些还可以混合一起,开发的过程中,要是html、css、js等文件被改掉,那么页面将会自动的更新。
5.Pomelo 网易出品的网页游戏框架/网页模板引擎
W3Cschool小师妹为大家精选的Pomelo 网易出品的网页游戏框架资源,主要包括pomelo、Infoq深入浅出node.js游戏服务器开发、官网wiki 、响应非常迅速的官方论坛等。
6.最流行的web框架Express/经验分享
如果你是新手,可以看看给Node.js新手的7条小建议,这七条小建议,主要包括命名而不是匿名、尽早解引用、别复制代码、慎重引入新模块等。
而最流行的web框架Express中,重点需要看的是Express.js中文入门指引手册。入门手册的主要特点,就是非常详细,可以手把手、一步步的让你学会。
7.Koa,下一代 Node.js web 框架/异步流程处理
Express 开发团队为大家设计了下一代的Web 框架,那就是Koa 。Koa的出现,主要目的是为 Web 应用程序提供更具有表现力、更小1且更坚实的基础。Koa 提供了非常优雅的一套方法,可以使服务器端的开发更快速、愉快。
上面W3Cschool小师妹为大家收集的node.js中文资料,主要包括文档、教程、经验分享、框架等资源。无论是新手还是大牛,都可以找到你需要的资源。强烈建议加入收藏夹:123点W3Cschool点cn。
学编程技术,就到W3Cschool,如果你喜欢我们的文章,可以点击右上角关注我们;如果你想看到更多IT界的资讯,可以加我们的公众号。
公众号:w3cschoolcn
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。