Question: What is the value of foo
?
var foo = 10 + '20';
Answer:
Output: "1020"
Question: What will be the output of the code below?
console.log(0.1 + 0.2 == 0.3);
Answer:
Output: false
Question: How would you make this work?
add(2, 5); // 7
add(2)(5); // 7
Answer:
var add = function(x) {
return function(y) {
return x + y;
}
}; // This will make add (2)(5) return 7, based on closures concept in JS
Question: What value is returned from the following statement?
"i'm a lasagna hog".split("").reverse().join("");
Answer:
Splits and reverses the string to "goh angasal a m'i"
Question: What is the value of window.foo
?
( window.foo || ( window.foo = "bar" ) );
Answer:
window.foo will be equal to "bar"
Question: What is the outcome of the two alerts below?
var foo = "Hello";
(function() {
var bar = " World";
alert(foo + bar);
})();
alert(foo + bar);
Answer:
Function will be immediately executed and give an alert "Hello World".
The call to the function will fail saying, variable bar is undefined
Question: What is the value of foo.length
?
var foo = [];
foo.push(1);
foo.push(2);
Answer:
Output: 2
Question: What is the value of foo.x
?
var foo = {n: 1};
var bar = foo;
foo.x = foo = {n: 2};
Answer:
Output: undefined
Question: What does the following code print?
console.log('one');
setTimeout(function() {
console.log('two');
}, 0);
console.log('three');
Answer:
Output: "one" , and then "three" and then "two" will be printed. Even though
the timeout is 0 seconds, the setTimeout function call will push it to JS call
stack and execute it after all other statements are executed
Question: What is the difference between these four promises?
doSomething().then(function () {
return doSomethingElse();
});
doSomething().then(function () {
doSomethingElse();
});
doSomething().then(doSomethingElse());
doSomething().then(doSomethingElse);