---
id: 62a3b365f1cdeb33efc2502e
title: 步骤 23
challengeType: 0
dashedName: step-23
---

# --description--

你一直使用 `var` 关键字声明变量。 然而，在现代 JavaScript 中，最佳实践是使用 `let` 关键词。 这会修正几种使用 `var` 后导致代码难以调试的异常行为。

将你所有的 `var` 关键字更改为 `let`。

# --hints--

你的代码中不应该有任何 `var` 关键字。

```js
assert.notMatch(code, /var/);
```

你应该使用 `let` 关键字声明变量 `xp` 。

```js
assert.match(code, /let xp/);
```

你应该使用 `let` 关键字声明变量 `health` 。

```js
assert.match(code, /let health/);
```

你应该使用 `let` 关键字声明变量 `gold` 。

```js
assert.match(code, /let gold/);
```

你应该使用 `let` 关键字声明变量 `currentWeapon` 。

```js
assert.match(code, /let currentWeapon/);
```

你不应该更改你的变量的值。

```js
assert.equal(xp, 0);
assert.equal(health, 100);
assert.equal(gold, 50);
assert.equal(currentWeapon, 0);
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="./styles.css">
    <title>RPG - Dragon Repeller</title>
    <script src="./script.js"></script>
</head>
<body>
    <div id="game">
        <div id="stats">
            <span class="stat">XP: <strong><span id="xpText">0</span></strong></span>
            <span class="stat">Health: <strong><span id="healthText">100</span></strong></span>
            <span class="stat">Gold: <strong><span id="goldText">50</span></strong></span>
        </div>
        <div id="controls">
            <button id="button1">Go to store</button>
            <button id="button2">Go to cave</button>
            <button id="button3">Fight dragon</button>
        </div>
        <div id="monsterStats">
            <span class="stat">Monster Name: <strong><span id="monsterName"></span></strong></span>
            <span class="stat">Health: <strong><span id="monsterHealth"></span></strong></span>
        </div>
        <div id="text">
            Welcome to Dragon Repeller. You must defeat the dragon that is preventing people from leaving the town. You are in the town square. Where do you want to go? Use the buttons above.
        </div>
    </div>
</body>
</html>
```

```css
body {
    background-color: darkblue;
}

#text {
    background-color: black;
    color: white;
    padding: 10px;
}

#game {
    max-width: 500px;
    max-height: 400px;
    background-color: lightgray;
    color: white;
    margin: 0 auto;
    padding: 10px;
}

#controls, #stats {
    border: 1px solid black;
    padding: 5px;
    color: black;
}

#monsterStats {
    display: none;
    border: 1px solid black;
    padding: 5px;
    color: white;
    background-color: red;
}

.stat {
    padding-right: 10px;
}
```

```js
--fcc-editable-region--
var xp = 0;
var health = 100;
var gold = 50;
var currentWeapon = 0;
--fcc-editable-region--
```
