---
id: 6610c6541c82551f95e765ab
title: Step 58
challengeType: 1
dashedName: step-58
---
# --description--
Variables can also be declared inside a function. These variables are considered to be in the local scope, or block scope. A variable declared inside a function can only be used inside that function. If you try to access it outside of the function, you get a reference error.
To see this in action, use `const` to declare a `test` variable in your `padRow` function. Initialise it with the value `"Testing"`.
Then, below your function, try to log `test` to the console. You will see an error because it is not defined outside of the function's local scope. Remove that `console.log` to pass the tests and continue.
# --hints--
Your function should declare a `test` variable.
```js
assert.match(padRow.toString(), /var\s+test/);
```
You should initialise `test` with the value `"Testing"`. Don't forget the semi-colon.
```js
assert.match(padRow.toString(), /var\s+test\s*=\s*('|")Testing\1;/)
```
Your `test` variable should come before your `return` keyword.
```js
const str = padRow.toString();
assert.isBelow(str.indexOf("test"), str.indexOf("return"));
```
# --seed--
## --seed-contents--
```js
const character = "#";
const count = 8;
const rows = [];
--fcc-editable-region--
function padRow(name) {
return character + name;
}
--fcc-editable-region--
const call = padRow("CamperChan");
console.log(call);
for (let i = 0; i < count; i = i + 1) {
rows.push(character.repeat(i + 1))
}
let result = ""
for (const row of rows) {
result = result + "\n" + row;
}
console.log(result);
```