function greeting(name) {
console.log('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
// user types in: 'salvatore'
callback(name);
}
processUserInput(greeting);
- 'salvatore'
- 'Hello salvatore'
- 'Hello '
- null
function capitalize(name) {
name = name.toUpperCase()
console.log('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
// user types in: 'salvatore'
callback(name);
}
processUserInput(capitalize);
- 'salvatore'
- 'HELLO SALVATORE'
- 'Hello Salvatore'
- 'Hello SALVATORE'
function capitalize(name) {
name = name.toUpperCase()
console.log('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
// user types in: 'salvatore'
callback(name);
}
processUserInput(capitalize());
- 'salvatore'
- 'Hello salvatore'
- ReferenceError
- 'Hello SALVATORE'
function processUserInput(callback) {
var name = prompt('Please enter your name.');
// user types in: 'salvatore'
callback(name);
}
processUserInput((input) => console.log(input[0]));
- 'salvatore'
- ReferenceError
- 's'
- 'i'
const callback = () => {
console.log("Done!");
}
setTimeout(callback, 5000);
- prints "Done!" after 5s
- prints "Done!" after 5000s
- prints nothing
setTimeout(() => console.log("A"), 500);
setTimeout(() => console.log("B"), 300);
setTimeout(() => console.log("C"), 400);
- prints in this order: "A", "B", "C"
- prints in this order: "A", "C", "B"
- prints in this order: "B", "C", "A"
setTimeout(() => console.log("B"), 300);
setTimeout(() => console.log("A"), 500);
setTimeout(() => console.log("C"), 400);
- prints in this order: "A", "B", "C"
- prints in this order: "A", "C", "B"
- prints in this order: "B", "C", "A"
const sayGoodbye = () => console.log('Goodbye');
function sayHello(name){
console.log('Hello ' + name);
setTimeout(sayGoodbye, 50);
}
sayHello('Harun')
- 'Hello Harun' then 'Goodbye'
- 'Hello Harun'
- 'Goodbye'
- 'Goodbye' then 'Hello Harun'
const name = 'HackYourFuture';
const func1 = () => {
const func2 = () => {
console.log(name)
};
func2();
};
func1()
- 'HackYourFuture'
- undefined
- ReferenceError
const func1 = () => {
const func2 = () => {
console.log(name)
};
func2()
};
func1()
const name = 'HackYourFuture';
- 'HackYourFuture'
- undefined
- ReferenceError
const func1 = () => {
const func2 = () => {
console.log(name)
};
func2()
};
const name = 'HackYourFuture';
func1()
- 'HackYourFuture'
- undefined
- ReferenceError
const name = 'HackYourFuture';
const func1 = (name) => {
const func2 = () => {
console.log(name)
};
func2()
};
func1('Lee')
- 'HackYourFuture'
- 'Lee'
- ReferenceError
- undefined
const name = 'HackYourFuture';
const func1 = (name) => {
const func2 = () => {
console.log(name)
};
func2()
};
func1()
- 'Lee'
- 'HackYourFuture'
- ReferenceError
- undefined
Why undefined and not ReferenceError?
const name = 'HackYourFuture';
const func1 = (name='Jafar') => {
const func2 = () => {
console.log(name)
};
func2()
};
func1()
- 'Jafar'
- 'HackYourFuture'
- ReferenceError
- undefined
const name = 'HackYourFuture';
const func1 = (name='Jafar') => {
const func2 = (name='Mady') => {
console.log(name)
};
func2('Amsterdam')
};
func1('Lee')
- 'Lee'
- 'HackYourFuture'
- 'Jafar'
- 'Mady'
- 'Amsterdam'
const func1 = () => {
console.log(name)
const func2 = () => {
name = 'Mady'
};
};
func1()
- ReferenceError
- undefined
- 'Mady'
const func1 = (name) => {
console.log(name)
const func2 = () => {
name = 'Mady'
};
};
func1()
- ReferenceError
- undefined
- 'Mady'
const sayGoodbye = (name) => console.log('Goodbye ' + name);
function sayHello(name){
console.log('Hello ' + name);
setTimeout(sayGoodbye, 50);
}
sayHello('Harun')
- 'Hello Harun' then 'Goodbye Harun'
- 'Hello Harun'
- 'Goodbye Harun'
- 'Hello Harun' then 'Goodbye undefined'
function sayHello(name){
console.log('Hello ' + name);
setTimeout((name) => console.log('Goodbye ' + name), 50);
}
sayHello('Harun')
- 'Hello Harun' then 'Goodbye Harun'
- 'Hello Harun'
- 'Goodbye Harun'
- 'Hello Harun' then 'Goodbye undefined'
function sayHello(name){
console.log('Hello ' + name);
setTimeout(() => console.log('Goodbye ' + name), 50);
}
sayHello('Harun')
- 'Hello Harun' then 'Goodbye Harun'
- 'Hello Harun'
- 'Goodbye Harun'
- 'Hello Harun' then 'Goodbye undefined'