Merge pull request #223 from mikusaa/master

错误修正
This commit is contained in:
Ruan YiFeng
2021-05-19 02:50:43 +08:00
committed by GitHub
2 changed files with 3 additions and 3 deletions

View File

@@ -238,7 +238,7 @@ JavaScript 提供`if`结构和`switch`结构,完成条件判断,即只有满
### if 结构
`if`结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,`true`表示`false`表示`伪`
`if`结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,`true`表示`真``false`表示`伪`
```javascript
if (布尔值)

View File

@@ -803,7 +803,7 @@ function(){ /* code */ }();
// SyntaxError: Unexpected token (
```
产生这个错误的原因是,`function`这个关键字可以当作语句,也可以当作表达式。
产生这个错误的原因是,`function`这个关键字可以当作语句,也可以当作表达式。
```javascript
// 语句
@@ -948,7 +948,7 @@ a // 2
上面代码中,严格模式下,`eval`内部还是改写了外部变量,可见安全风险依然存在。
总之,`eval`的本质是在当前作用域之中,注入代码。由于安全风险和不利于 JavaScript 引擎优化执行速度,所以一般不推荐使用。通常情况下,`eval`最常见的场合是解析 JSON 数据的字符串,不过正确的做法应该是使用原生的`JSON.parse`方法。
总之,`eval`的本质是在当前作用域之中,注入代码。由于安全风险和不利于 JavaScript 引擎优化执行速度,一般不推荐使用。通常情况下,`eval`最常见的场合是解析 JSON 数据的字符串,不过正确的做法应该是使用原生的`JSON.parse`方法。
### eval 的别名调用