Explain event delegation
A: JS event listeners fire not only on a single DOM element but on all its descendants
应用场景,对一个表单中所有的input做监听
What’s the difference between “target” and “currentTarget”?
A: The latter is the element with the listener attached, the former is the actual element that triggered it
Describe event bubbling.
A: Inverse of this. Also known as propagation, events on an element will "bubble up" and also fire on all parents
Explain why the following doesn’t work as an IIFE (Immediately invoked function expression)
function foo(){
}();
A: you should do
(function foo(){
})();
Explain the difference on the usage of
function foo(){
}
var foo=function(){
};
Why is it, in general, a good idea to leave the global scope of a website as-is and never touch it?
A:
Reduce collision
Maintain independence
Easier to write your own code
Explain "hoisting"
A: all variables (var) are declared at the top of any given function scope whether you like it or not(includes function declarations)