2.0 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56533eb9ac21ba0edf2244bf | Ámbito local y funciones | 1 | https://scrimba.com/c/cd62NhM | 18227 | local-scope-and-functions |
--description--
Las variables que se declaran dentro de una función, así como los parámetros de la función tienen un ámbito local. Esto significa que sólo son visibles dentro de esa función.
Esta es una función myTest
con una variable local llamada loc
.
function myTest() {
var loc = "foo";
console.log(loc);
}
myTest();
console.log(loc);
La llamada a la función myTest()
mostrará la cadena foo
en la consola. La línea console.log(loc)
arrojará un error, ya que loc
no está definida fuera de la función.
--instructions--
El editor tiene dos console.log
s para ayudarte a ver lo que está sucediendo. Revisa la consola a medida que programas para ver cómo cambia. Declara una variable local myVar
dentro de myLocalScope
y ejecuta las pruebas.
Nota: La consola todavía mostrará el error ReferenceError: myVar is not defined
, pero esto no causará que las pruebas fallen.
--hints--
El código no debe contener una variable global myVar
.
function declared() {
myVar;
}
assert.throws(declared, ReferenceError);
Debes agregar una variable local myVar
.
assert(
/functionmyLocalScope\(\)\{.+(var|let|const)myVar[\s\S]*}/.test(
__helpers.removeWhiteSpace(code)
)
);
--seed--
--seed-contents--
function myLocalScope() {
// Only change code below this line
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);
--solutions--
function myLocalScope() {
// Only change code below this line
var myVar;
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);