diff --git a/1-js/05-data-types/03-string/article.md b/1-js/05-data-types/03-string/article.md
index 8d381f8e24..ef40df83c6 100644
--- a/1-js/05-data-types/03-string/article.md
+++ b/1-js/05-data-types/03-string/article.md
@@ -186,7 +186,7 @@ for (let char of "Hello") {
let str = 'Hi';
str[0] = 'h'; // error
-alert( str[0] ); // 无法运行
+alert( str[0] ); // 没成功
```
通常的解决方法是创建一个新的字符串,并将其分配给 `str` 而不是以前的字符串。
diff --git a/2-ui/2-events/03-event-delegation/article.md b/2-ui/2-events/03-event-delegation/article.md
index 5c015c8884..5f2e53c189 100644
--- a/2-ui/2-events/03-event-delegation/article.md
+++ b/2-ui/2-events/03-event-delegation/article.md
@@ -199,7 +199,7 @@ One more counter:
```
-如果我们点击按钮 —— 它的值就会增加。但不仅仅是按钮,一般的方法在这里也很重要。
+如果我们点击按钮 —— 它的值就会增加。这里重要的不是按钮,而是这种通用方法。
我们可以根据需要使用 `data-counter` 特性,多少都可以。我们可以随时向 HTML 添加新的特性。使用事件委托,我们属于对 HTML 进行了“扩展”,添加了描述新行为的特性。
diff --git a/2-ui/4-forms-controls/2-focus-blur/article.md b/2-ui/4-forms-controls/2-focus-blur/article.md
index ac3a48062b..fdd5675a41 100644
--- a/2-ui/4-forms-controls/2-focus-blur/article.md
+++ b/2-ui/4-forms-controls/2-focus-blur/article.md
@@ -90,7 +90,7 @@ Your email please:
请注意,我们无法通过在 `onblur` 事件处理程序中调用 `event.preventDefault()` 来“阻止失去焦点”,因为 `onblur` 事件处理程序是在元素失去焦点 **之后** 运行的。
-但在实际中,在实现这样的功能之前应该认真考虑一下,因为我们通常 **应该将报错展示给用户**,但 **不应该阻止用户在填写我们的表单时的进度**。用户可能会想先填写其他表单项。
+但在实际中,在实现这样的功能之前应该认真考虑一下,因为我们通常 **应该将报错展示给用户**,但 **不应该阻止用户填写表单的进程**。用户可能会想先填写其他表单项。
```warn header="JavaScript 导致的焦点丢失"
很多种原因可以导致焦点丢失。
diff --git a/2-ui/4-forms-controls/3-events-change-input/article.md b/2-ui/4-forms-controls/3-events-change-input/article.md
index 42c0518d26..5c3ece09a1 100644
--- a/2-ui/4-forms-controls/3-events-change-input/article.md
+++ b/2-ui/4-forms-controls/3-events-change-input/article.md
@@ -95,7 +95,7 @@
因此,大多数浏览器仅允许在某些用户操作范围内(例如复制/粘贴等)对剪切板进行无缝的读/写访问。
-除火狐(Firefox)浏览器外,所有浏览器都禁止使用 `dispatchEvent` 生成“自定义”剪贴板事件,即使我们设法调度此类事件。规范也明确声明了,合成(syntetic)事件不得提供对剪切板的访问权限。
+除火狐(Firefox)浏览器外,所有浏览器都禁止使用 `dispatchEvent` 生成“自定义”剪贴板事件,即使我们设法调度此类事件。规范也明确声明了,合成(synthetic)事件不得提供对剪切板的访问权限。
此外,如果有人想将 `event.clipboardData` 保存在事件处理程序中,然后稍后再访问它 —— 这也不会生效。
diff --git a/5-network/05-fetch-crossorigin/article.md b/5-network/05-fetch-crossorigin/article.md
index d5b662ecc1..252f5a89bd 100644
--- a/5-network/05-fetch-crossorigin/article.md
+++ b/5-network/05-fetch-crossorigin/article.md
@@ -325,7 +325,7 @@ JavaScript 仅获取对主请求的响应,如果没有服务器许可,则获
这是因为具有凭据的请求比没有凭据的请求要强大得多。如果被允许,它会使用它们的凭据授予 JavaScript 代表用户行为和访问敏感信息的全部权力。
-服务器真的这么信任这种脚本吗?是的,它必须显式地带有允许请求的凭据和附加 header。
+服务器真的这么信任这种脚本吗?如果是的话,它必须显式地带有允许请求的凭据和附加 header。
要在 `fetch` 中发送凭据,我们需要添加 `credentials: "include"` 选项,像这样:
diff --git a/5-network/11-websocket/article.md b/5-network/11-websocket/article.md
index 51a3f6ec4d..25f249eb91 100644
--- a/5-network/11-websocket/article.md
+++ b/5-network/11-websocket/article.md
@@ -72,7 +72,7 @@ socket.onerror = function(error) {
当 `new WebSocket(url)` 被创建后,它将立即开始连接。
-在连接期间,浏览器(使用 header)问服务器:“你支持 WebSocket 吗?”如果服务器回复说“我支持”,那么通信就以 WebSocket 协议继续进行,该协议根本不是 HTTP。
+在连接期间,浏览器(使用 header)问服务器:“你支持 WebSocket 吗?”如果服务器回复说“我支持”,那么通信就以 WebSocket 协议继续进行,该协议完全不是 HTTP。
![](websocket-handshake.svg)
@@ -109,7 +109,7 @@ Sec-WebSocket-Accept: hsBlbuDTkk24srzEOTBUlZAlC2g=
这里 `Sec-WebSocket-Accept` 是 `Sec-WebSocket-Key`,是使用特殊的算法重新编码的。浏览器使用它来确保响应与请求相对应。
-然后,使用 WebSocket 协议传输数据,我们很快就会看到它的结构("frames")。它根本不是 HTTP。
+然后,使用 WebSocket 协议传输数据,我们很快就会看到它的结构("frames")。它完全不是 HTTP。
### 扩展和子协议