diff --git a/1-js/02-first-steps/08-comparison/article.md b/1-js/02-first-steps/08-comparison/article.md
index 53f521b767..9dc6fdfa93 100644
--- a/1-js/02-first-steps/08-comparison/article.md
+++ b/1-js/02-first-steps/08-comparison/article.md
@@ -4,8 +4,8 @@
- 大于 / 小于:a > b,a < b。
- 大于等于 / 小于等于:a >= b,a <= b。
-- 检测两个值的相等:`a == b`(注意表达式中是两个等号 `=`,若写为单个等号 `a = b` 则表示赋值)。
-- 检测两个值不相等,在数学中使用 ≠ 符号,而在 JavaScript 中则通过在赋值符号前加叹号表示:a != b。
+- 检查两个值的相等:`a == b`(注意表达式中是两个等号 `=`,若写为单个等号 `a = b` 则表示赋值)。
+- 检查两个值不相等,在数学中使用 ≠ 符号,而在 JavaScript 中则通过在赋值符号前加叹号表示:a != b。
## 比较结果为 Boolean 类型
@@ -171,9 +171,9 @@ alert( null >= 0 ); // (3) *!*true*/!*
是的,上面的结果完全打破了你对数学的认识。在最后一行代码显示“`null` 大于等于 0”的情况下,前两行代码中一定会有一个是正确的,然而事实表明它们的结果都是 false。
-为什么会出现这种反常结果,这是因为相等性检测 `==` 和普通比较符 `> < >= <=` 的代码逻辑是相互独立的。进行值的比较时,`null` 会被转化为数字,因此它被转化为了 `0`。这就是为什么(3)中 `null >= 0` 返回值是 true,(1)中 `null > 0` 返回值是 false。
+为什么会出现这种反常结果,这是因为相等性检查 `==` 和普通比较符 `> < >= <=` 的代码逻辑是相互独立的。进行值的比较时,`null` 会被转化为数字,因此它被转化为了 `0`。这就是为什么(3)中 `null >= 0` 返回值是 true,(1)中 `null > 0` 返回值是 false。
-另一方面,`undefined` 和 `null` 在相等性检测 `==` 中不会进行任何的类型转换,它们有自己独立的比较规则,所以除了它们之间互等外,不会等于任何其他的值。这就解释了为什么(2)中 `null == 0` 会返回 false。
+另一方面,`undefined` 和 `null` 在相等性检查 `==` 中不会进行任何的类型转换,它们有自己独立的比较规则,所以除了它们之间互等外,不会等于任何其他的值。这就解释了为什么(2)中 `null == 0` 会返回 false。
### 特立独行的 undefined
@@ -190,7 +190,7 @@ alert( undefined == 0 ); // false (3)
原因如下:
- `(1)` 和 `(2)` 都返回 `false` 是因为 `undefined` 在比较中被转换为了 `NaN`,而 `NaN` 是一个特殊的数值型值,它与任何值进行比较都会返回 `false`。
-- `(3)` 返回 `false` 是因为这是一个相等性检测,而 `undefined` 只与 `null` 相等,不会与其他值相等。
+- `(3)` 返回 `false` 是因为这是一个相等性检查,而 `undefined` 只与 `null` 相等,不会与其他值相等。
### 规避错误
@@ -204,6 +204,6 @@ alert( undefined == 0 ); // false (3)
- 比较运算符始终返回布尔值。
- 字符串的比较,会按照“词典”顺序逐字符地比较大小。
-- 当对不同类型的值进行比较时,它们会先被转化为数字(不包括严格相等检测)再进行比较。
+- 当对不同类型的值进行比较时,它们会先被转化为数字(不包括严格相等检查)再进行比较。
- 在非严格相等 `==` 下,`null` 和 `undefined` 相等且各自不等于任何其他的值。
- 在使用 `>` 或 `<` 进行比较时,需要注意变量可能为 `null/undefined` 的情况。比较好的方法是单独检查变量是否等于 `null/undefined`。
diff --git a/1-js/02-first-steps/11-logical-operators/7-check-if-out-range/task.md b/1-js/02-first-steps/11-logical-operators/7-check-if-out-range/task.md
index 8a36a624d8..96d4c6c4f4 100644
--- a/1-js/02-first-steps/11-logical-operators/7-check-if-out-range/task.md
+++ b/1-js/02-first-steps/11-logical-operators/7-check-if-out-range/task.md
@@ -2,7 +2,7 @@ importance: 3
---
-# 检测值是否位于范围之外
+# 检查值是否位于范围之外
写一个 `if` 条件句,检查 `age` 是否不位于 14 到 90 的闭区间。
diff --git a/1-js/03-code-quality/05-testing-mocha/article.md b/1-js/03-code-quality/05-testing-mocha/article.md
index dbc99bf794..28275583d3 100644
--- a/1-js/03-code-quality/05-testing-mocha/article.md
+++ b/1-js/03-code-quality/05-testing-mocha/article.md
@@ -172,9 +172,9 @@ function pow() {
除此之外,还有一个规范值得遵循。
-**一个测试检测一个东西。**
+**一个测试检查一个东西。**
-如果我们在看测试代码的时候,发现在其中有两个相互独立的检测 —— 最好将它拆分成两个更简单的检测。
+如果我们在看测试代码的时候,发现在其中有两个相互独立的检查 —— 最好将它拆分成两个更简单的检查。
因此让我们继续使用第二种方式。
@@ -336,12 +336,12 @@ describe("pow", function() {
新加的测试失败了,因为我们的实现方式是不支持它们的。这就是 BDD 的做法:我们首先写一些暂时无法通过的测试,然后去实现它们。
```smart header="Other assertions"
-请注意断言语句 `assert.isNaN`:它用来检测 `NaN`。
+请注意断言语句 `assert.isNaN`:它用来检查 `NaN`。
在 [Chai](http://chaijs.com) 中也有其他的断言,例如:
-- `assert.equal(value1, value2)` —— 检测相等 `value1 == value2`。
-- `assert.strictEqual(value1, value2)` —— 检测严格相等 `value1 === value2`。
+- `assert.equal(value1, value2)` —— 检查相等 `value1 == value2`。
+- `assert.strictEqual(value1, value2)` —— 检查严格相等 `value1 === value2`。
- `assert.notEqual`,`assert.notStrictEqual` —— 执行和上面相反的检查。
- `assert.isTrue(value)` —— 检查 `value === true`。
- `assert.isFalse(value)` —— 检查 `value === false`。
diff --git a/1-js/05-data-types/05-array-methods/3-filter-range-in-place/task.md b/1-js/05-data-types/05-array-methods/3-filter-range-in-place/task.md
index c12c7de2e9..ab5c9b486b 100644
--- a/1-js/05-data-types/05-array-methods/3-filter-range-in-place/task.md
+++ b/1-js/05-data-types/05-array-methods/3-filter-range-in-place/task.md
@@ -4,7 +4,7 @@ importance: 4
# 原位(in place)过滤范围
-写一个函数 `filterRangeInPlace(arr, a, b)`,该函数获取一个数组 `arr`,并删除其中介于 `a` 和 `b` 区间以外的所有值。检测:`a ≤ arr[i] ≤ b`。
+写一个函数 `filterRangeInPlace(arr, a, b)`,该函数获取一个数组 `arr`,并删除其中介于 `a` 和 `b` 区间以外的所有值。检查:`a ≤ arr[i] ≤ b`。
该函数应该只修改数组。它不应该返回任何东西。
diff --git a/2-ui/1-document/03-dom-navigation/article.md b/2-ui/1-document/03-dom-navigation/article.md
index a6bc4ba28c..92c95f286c 100644
--- a/2-ui/1-document/03-dom-navigation/article.md
+++ b/2-ui/1-document/03-dom-navigation/article.md
@@ -125,7 +125,7 @@ elem.childNodes[0] === elem.firstChild
elem.childNodes[elem.childNodes.length - 1] === elem.lastChild
```
-这里还有一个特别的函数 `elem.hasChildNodes()` 用于检测节点是否有子节点。
+这里还有一个特别的函数 `elem.hasChildNodes()` 用于检查节点是否有子节点。
### DOM 集合
diff --git a/2-ui/3-event-details/1-mouse-events-basics/article.md b/2-ui/3-event-details/1-mouse-events-basics/article.md
index 59a010b4a7..2620a955b3 100644
--- a/2-ui/3-event-details/1-mouse-events-basics/article.md
+++ b/2-ui/3-event-details/1-mouse-events-basics/article.md
@@ -49,7 +49,7 @@
在测试台下面记录了所有的鼠标事件,如果它们之间的延迟时间超过 1 秒,那么它们会被水平分割线分开。
-我们还可以看出 `which` 属性允许检测鼠标按钮。
+我们还可以看出 `which` 属性允许检查鼠标按钮。