JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
发布时间 - 2026-01-11 02:28:31 点击率:次JavaScript30 – 一个月纯 JS 挑战中文指南

JavaScirpt30 是 Wes Bos 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用
https://github.com/soyaine/JavaScript30
中文指南作者:缉熙Soyaine
JavaScript30 教程作者:Wes Bos
完整指南在 GitHub,喜欢请 Star 哦♪(^∇^*)
JavaScript30 是什么?
JavaScirpt30 是 Wes Bos 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。
官网的 slogan 如下:
Build 30 things in 30 days with 30 tutorial No Frameworks × No Compilers × No Libraries × No Boilerplate
关于《 JavaScript30 中文指南》
英文中描述纯 JavaScript 使用的单词是 vanilla JavaScript,vanilla 有平凡普通的意味,同时也有香草的释义,这个词很美,可惜我找不到适当的汉语来翻译它。我从入门前端时就在用纯 JavaScript 来写东西、写博客,看到这个挑战时很开心,觉得在前端社区各种框架热热闹闹的时候,有人回到最本真的地方,是很难得的一件事。
当然不可否认的是,新的工具可以帮助我们提高生产率,但最原始的 JavaScript 想必是很多人的知识结构里所缺失的部分,如果你也想探探究竟,欢迎跟着这份指南,一起逛逛 JavaScript 的原始世界。
写这份中文指南的另一个原因是看了 Nitish Dayal 写的 Guides,我决定效仿他,在记录笔记的同时梳理思路,整理形成指南。我相信 Learn by Use 的同时也深信教是最好的学。希望这份指南能够帮助到想要进行练习的人们,特别是那些想要入门的前端小白们。
目前这份指南还在更新之中,欢迎监督我,如果你想要及时获取新的文章,可以在 GitHub Star/Fork 我的 Repo。
如何参加挑战
下面是完成 Wes Bos 的 JavaScript30 挑战所能借鉴的文档,每个文档的具体使用建议如下:
- JavaScript30 官网:进入官网注册后可以观看和下载所有教程视频。Wes Bos 还把视频传到了百度云,进入官网直接拉到页面底部就能找到链接。
- Nitish Dayal 写的英文指南:这是一份非官方的文字版指南,也是激励我写这一系列文章的主要因素。
- 挑战初始文档:这是 Wes Bos 这份教程涉及的代码,你可以直接 Clone 或者下载到本地,然后开始你 30 天的挑战之旅。文档共有 30 个文件夹,每个文件夹中至少有两个文件。
- index-START.html:是提供给我们的初始文档,方便我们专注于 JavaScript 的编写,这个文档已经将基础的 HTML 和 CSS 部分写好,我们只需要在这个基础上编写 JavaScript 代码,实现特定的功能即可。
- index-FINISHED.html:已经实现了最终效果的文档,可以查看效果和实现思路。
- 我写的中文指南源码:文档结构和 Wes Bos 提供的相同,进入每个文件夹都可查看当前挑战的指南(README.md),我完成挑战时建立的文件是 index-SOYAINE.html,里面有核心代码的中文注释。如果阅读过程中发现问题,请在这里提 issue。 如果喜欢记得 Star 哟~♪(^∇^*),鼓励我写出更好的文章。
目录
- JavaScript Drum Kit 指南 | 纯 JS 模拟敲鼓效果
- JS + CSS Clock 指南 | 纯 JavaScript+CSS 时钟效果
- CSS Variables 指南 | 用 CSS 变量实现拖动控制参数效果
- Array Cardio, Day 1 指南 | 数组基本操作方法示例一
- Flex Panel Gallery 指南 | 可伸缩的图片墙在线效果
- Type Ahead 指南 | 根据关键词快速匹配诗句在线效果
- Array Cardio, Day 2 指南 | 数组基本操作方法示例二
- Fun with HTML5 Canvas 指南 | 彩虹画笔绘画板在线效果
- Dev Tools Domination 指南 | Console 调试技巧在线示例
- Hold Shift and Check Checkboxes 指南 | Shift 批量选中在线效果
- Custom Video Player 指南
- Key Sequence Detection 指南 | 在线效果
- Slide in on Scroll 指南 | 图片随屏幕滚动而滑入滑出的在线效果
- JavaScript References vs. Copying
- LocalStorage
- Mouse Move Shadow
- Sort Without Articles
- Adding Up Times with Reduce
- Webcam Fun
- Speech Detection
- Geolocation
- Follow Along Link Highlighter
- Speech Synthesis
- Sticky Nav
- Event Capture, Propagation, Bubbling, and Once
- Stripe Follow Along Nav
- Click and Drag
- Video Speed Controller
- Countdown Timer
- Whack A Mole
参加挑战并不需要你缴纳费用或是加入什么组织,也不会有人催着你去做什么,你只需要打开电脑,然后开始思考、敲击键盘。相信内在动机的力量,我在这里给出了一些建议和心得,最适合你的方法还需要你自己去摸索。
本中文指南贡献者名单
- @DrakeXiang
- @zzh466
- @Xing Liu
- @缉熙Soyaine
# javascript
# 挑战
# 关键词
# 文档
# 这份
# 也不
# 官网
# 这是
# 我写
# 来写
# 英文
# 免费提供
# 源代码
# 操作方法
# 的是
# 这一
# 如果你
# 也有
# 看了
# 出了
# 你可以
# 还在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Linux安全能力提升路径_长期防护思维说明【指导】
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何用狗爹虚拟主机快速搭建网站?
Android仿QQ列表左滑删除操作
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
北京企业网站设计制作公司,北京铁路集团官方网站?
Linux系统命令中tree命令详解
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
做企业网站制作流程,企业网站制作基本流程有哪些?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何快速搭建安全的FTP站点?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Linux系统命令中screen命令详解
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
如何在云虚拟主机上快速搭建个人网站?
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Python制作简易注册登录系统
详解Android图表 MPAndroidChart折线图
浅述节点的创建及常见功能的实现
Laravel如何使用.env文件管理环境变量?(最佳实践)
企业网站制作这些问题要关注
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何用y主机助手快速搭建网站?
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Laravel如何使用Vite进行前端资源打包?(配置示例)
简单实现jsp分页
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
创业网站制作流程,创业网站可靠吗?
Thinkphp 中 distinct 的用法解析
Laravel如何处理异常和错误?(Handler示例)
Java类加载基本过程详细介绍
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
JavaScript Ajax实现异步通信
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
如何在橙子建站中快速调整背景颜色?
实例解析angularjs的filter过滤器
网站制作报价单模板图片,小松挖机官方网站报价?
黑客入侵网站服务器的常见手法有哪些?
如何快速搭建高效WAP手机网站吸引移动用户?
php 三元运算符实例详细介绍

