--- id: 56533eb9ac21ba0edf2244bf title: Local Scope and Functions localeTitle: Ámbito local y funciones challengeType: 1 --- ## Description
Las variables que se declaran dentro de una función, así como los parámetros de la función tienen alcance local . Eso significa que, sólo son visibles dentro de esa función. Aquí hay una función myTest con una variable local llamada loc .
function myTest() {
  var loc = "foo";
  console.log(loc);
}
myTest(); // logs "foo"
console.log(loc); // loc is not defined
loc no está definido fuera de la función.
## Instructions
Declare una variable local myVar dentro de myLocalScope . Ejecute las pruebas y luego siga las instrucciones comentadas en el editor. Pista
Actualizar la página puede ayudar si te quedas atascado.
## Tests
```yml tests: - text: Ninguna variable global myVar testString: 'assert(typeof myVar === "undefined", "No global myVar variable");' - text: Agrega una variable myVar local testString: 'assert(/var\s+myVar/.test(code), "Add a local myVar variable");' ```
## Challenge Seed
```js function myLocalScope() { 'use strict'; // you shouldn't need to edit this line console.log(myVar); } myLocalScope(); // Run and check the console // myVar is not defined outside of myLocalScope console.log(myVar); // Now remove the console log line to pass the test ```
### Before Test
```js var logOutput = ""; var originalConsole = console function capture() { var nativeLog = console.log; console.log = function (message) { logOutput = message; if(nativeLog.apply) { nativeLog.apply(originalConsole, arguments); } else { var nativeMsg = Array.prototype.slice.apply(arguments).join(' '); nativeLog(nativeMsg); } }; } function uncapture() { console.log = originalConsole.log; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js function myLocalScope() { 'use strict'; var myVar; console.log(myVar); } myLocalScope(); ```