Skip to content

Commit 7c7db5b

Browse files
authored
Merge branch 'WTFAcademy:main' into main
2 parents 1eb83df + 7b7925d commit 7c7db5b

10 files changed

Lines changed: 134 additions & 2 deletions

File tree

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
**.DS_Store
2+
.DS_Store
3+
node_modules
4+
cache
5+
typechain-types
6+
artifacts
7+
.idea
8+
.history
9+
**node_modules**
10+
**cache**
11+
**artifacts**
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
let hello = "Hello JavaScript!";
2+
console.log(hello);

01_HelloJavaScript/img/.DS_Store

6 KB
Binary file not shown.

01_HelloJavaScript/img/1-1.png

285 KB
Loading

01_HelloJavaScript/img/1-2.png

138 KB
Loading

01_HelloJavaScript/img/1-3.png

147 KB
Loading

01_HelloJavaScript/img/1-4.png

17.2 KB
Loading

01_HelloJavaScript/img/1-5.png

102 KB
Loading

01_HelloJavaScript/readme.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# JavaScript极简入门: 1. Hello JavaScript (2行代码)
2+
3+
4+
**推特**[@WTFAcademy_](https://twitter.com/WTFAcademy_)[@0xAA_Science](https://twitter.com/0xAA_Science)
5+
6+
**WTF Academy社群:** [官网 wtf.academy](https://wtf.academy) | [WTF Solidity教程](https://github.com/AmazingAng/WTFSolidity) | [discord](https://discord.wtf.academy) | [微信群申请](https://docs.google.com/forms/d/e/1FAIpQLSe4KGT8Sh6sJ7hedQRuIYirOoZK_85miz3dw7vA1-YjodgJ-A/viewform?usp=sf_link)
7+
8+
所有代码和教程开源在github: [github.com/WTFAcademy/WTF-JavaScript](https://github.com/WTFAcademy/WTF-Javascript)
9+
10+
-----
11+
12+
2023年,WTF Academy 将开发一个零基础入门的 JavaScript 教程,帮助新人进入 Web3 开发。第一讲,我们将介绍什么是 JavaScript,并编写第一个JavaScript 程序:`Hello JavaScript`(两行代码)。
13+
14+
## 什么是 `Javascript`?
15+
16+
JavaScript 是一种用于与网页元素交互的轻量型编程语言。前端开发者可以将它与 HTML/CSS 结合并增强网页的功能,例如动态更新网页内容,网页交互等。现在,JavaScript 也可以在服务器(后端)通过 Node.js 运行,用于更新数据库、文件系统等。
17+
18+
## 为什么要学习 `JavaScript`?
19+
20+
根据2022年[Stack Overflow社区年度调查显示](https://survey.stackoverflow.co/2022/#most-popular-technologies-language),JavaScript 已经连续十年成为最受开发者欢迎的一门编程语言。学习 JavaScript 不仅是普通 web 开发者的必备技能,同时也是全栈 web3 学习者的必要知识。
21+
22+
![1-1](./img/1-1.png)
23+
24+
## 开发工具
25+
26+
### 1. playcode.io
27+
28+
![](./img/1-2.png)
29+
30+
[playcode](https://playcode.io/)是一个在线编译`javascript`的平台,你不需要在本地安装任何程序就可以运行`.js`文件,非常方便。本教程将使用 playcode 进行代码演示,未来也将在 [wtf.academy](https://wtf.academy) 的教程中嵌入可互动代码模块。你可以在[链接](https://playcode.io/1051873)上找到这一讲的代码。
31+
32+
![](./img/1-3.png)
33+
34+
### 2. VS Code
35+
36+
你可以使用本地 [VS Code](https://code.visualstudio.com/download) 进行开发,需要安装[Node.js](https://nodejs.org/zh-cn/download/),我们会在之后的章节介绍如何使用它。
37+
38+
## Hello JavaScript!
39+
40+
下面,我们要写第一个 JavaScript 程序:`Hello JavaScript`。在这个程序中,我们定义了一个变量,并将它的值输出到控制台。
41+
42+
代码:
43+
44+
```js
45+
let hello = "Hello JavaScript!";
46+
console.log(hello);
47+
```
48+
49+
输出:
50+
![1-2](./img/1-4.png)
51+
52+
下面,我们逐行学习一下。
53+
54+
1. 第 1 行,我们利用 `let` 关键字定义了一个名为 `hello` 的变量,并将`"Hello JavaScript!"` 赋值给它,最后以分号 `;` 结束这一行语句。
55+
56+
```js
57+
let hello = "Hello JavaScript!";
58+
```
59+
60+
2. 第 2 行,我们利用内置函数 `console.log``hello` 变量的值输出到控制台,让人们可以看到。
61+
62+
```js
63+
console.log(hello);
64+
```
65+
66+
## 【拓展知识】Javascript 程序是如何运行的?
67+
68+
![](./img/1-5.png)
69+
70+
> 你不理解下面这段话也没关系,不妨碍你继续学习 JavaScript,因为我也不是很理解!
71+
72+
如果说`编程语言`是人类与机器沟通的语言,那么`程序`是一篇篇文章,`代码`是其中的文本。Javascript 程序运行的大致步骤如下:
73+
74+
1. 程序员完成一段代码。
75+
```js
76+
let hello = "Hello JavaScript!";
77+
```
78+
2. 将代码提交给`编译器`(compiler)编译。首先,`编译器`会将`代码`分解为单个的`令牌`(token)。上面的语句会被分解为 `5` 个令牌: `let`, `hello`, `=`, `"Hello JavaScript!"`, 和 ``
79+
80+
3. 接下来,`令牌`会被重新组织成一个树状结构,也叫`抽象语法树`(Abstract Syntax Tree, AST)。你可以在[AstExplorer](https://astexplorer.net/)上输入代码,并查看生成的`抽象语法树`
81+
82+
4. 最后,编译器会将结构化的`抽象语法树`转换并生成计算机能运行的的`机器码`
83+
84+
如果你的`代码`没有按照`编程语言`的语法来写,编译器就无法把它解析为机器能懂的`机器码`,那么`程序`就无法运行。这时,你就要去找出程序的`bug`并修复它。在未来的教程中,我们将介绍更多的 `JavaScript` 语法。
85+
86+
## 习题
87+
88+
`Hello Javascript` 程序中变量 `hello` 的值改为 `“Hello WTF Academy!”`,并观察控制台的输出。
89+
90+
## 总结
91+
92+
第一讲,我们介绍了什么是 JavaScript,为什么要学习它,JavaScript 开发工具,并编写了第一个仅有两行的 JavaScript 程序:`Hello JavaScript`。接下来,我们将继续 JavaScript 之旅!

README.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,29 @@
1-
# WTF-Javascript
2-
我最近在重新学 Javascript, 巩固一下细节, 也写一个“WTF Javascript极简入门”,供小白们使用,每周更新1-3讲。
1+
# WTF-JavaScript
2+
我最近在重新学 JavaScript, 巩固一下细节, 也写一个“WTF JavaScript极简入门”,供新人使用。
3+
4+
## 开发工具
5+
### 在线编辑器运行
6+
7+
`javascript`在线编译平台:
8+
* [playcode.io](https://playcode.io)
9+
10+
### VScode本地运行
11+
12+
需要安装[VSCode](https://code.visualstudio.com/download)[Node.js](https://nodejs.org/zh-cn/download/),然后运行:
13+
14+
```shell
15+
node 01_HelloJavaScript/HelloJavaScript.js
16+
```
17+
18+
## 目录
19+
**第1讲:Hello JavaScript(2行代码)**:【[代码](https://github.com/WTFAcademy/WTF-JavaScript/blob/main/01_HelloJavaScript/HelloJavaScript.js)】【[教程](https://github.com/WTFAcademy/WTF-JavaScript/tree/main/01_HelloJavaScript/readme.md)】【[PlayCode](https://playcode.io/1051873)
20+
21+
## WTF JavaScript贡献者
22+
<div align="center">
23+
<h4 align="center">
24+
贡献者是WTF学院的基石
25+
</h4>
26+
<a href="https://github.com/WTFAcademy/WTF-JavaScript/graphs/contributors">
27+
<img src="https://contrib.rocks/image?repo=WTFAcademy/WTF-JavaScript" />
28+
</a>
29+
</div>

0 commit comments

Comments
 (0)