Scope essentially means where these variables are available for use. var declarations are globally scoped or function/locally scoped.
- Ex1
var greeter = "hey hi";
if (1) {
var hello = "hello";
console.log(hello);
console.log(greeter);
}
- Ex2
var tester = "hey hi";
if (1) {
var hello = "hello";
}
console.log(hello);
console.log(tester);
var is function scoped when it is declared within a function. This means that it is available and can be accessed only within that function.
var tester = "hey hi";
function sayHello() {
var hello = "hello";
}
console.log(hello);
console.log(tester);
- Ex3 : can be re-declared and updated
var greeter = "hey hi";
var greeter = "say Hello instead";
var greeter = "hey hi";
if (1) {
var greeter = "hello";
}
console.log(greeter);
var greeter = "hey hi";
if (1) {
greeter = "hello";
}
console.log(greeter);
var greeter = "hey hi";
var times = 4;
if (times > 3) {
var greeter = "say Hello instead";
}
console.log(greeter) // "say Hello instead"