JS面试问题巧答

2019-05-28 17:51:14 浏览数 (2)

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)

代码语言:javascript复制
function foo(){
}();

A: you should do

代码语言:javascript复制
(function foo(){
})();

Explain the difference on the usage of

代码语言:javascript复制
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)

What's the difference between a variable that is:null, undefined or undeclared?

0 人点赞