mirror of
https://github.com/wangdoc/javascript-tutorial.git
synced 2025-12-27 12:43:32 +08:00
@@ -238,7 +238,7 @@ JavaScript 提供`if`结构和`switch`结构,完成条件判断,即只有满
|
||||
|
||||
### if 结构
|
||||
|
||||
`if`结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,`true`表示真,`false`表示`伪`。
|
||||
`if`结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,`true`表示`真`,`false`表示`伪`。
|
||||
|
||||
```javascript
|
||||
if (布尔值)
|
||||
|
||||
@@ -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 的别名调用
|
||||
|
||||
|
||||
Reference in New Issue
Block a user