Some things you should know before moving on.
- Why is JavaScript's asynchronous handling necessary in the browser environment?
- What is a "Call Stack"?
- What is a "Message Queue"?
- How does JavaScript use its own message queue in conjunction with your browser's queues (via its APIs) to handle asynchronous methods?
- How do you make a function execute asynchronously?
- What actually happens when you use the
setTimeout
function?
- What are "Event Listeners" in essence?
- What actually happens when you register an event listener?
- Why is using the
onclick
property of HTML elements considered bad practice?
- Where are listeners stored?
- How do you attach an event listener using jQuery?
- If you add a new element to the page after setting up some listeners, will it get a listener attached to itself too?
- Why is it useful to delegate a listener to the element's parent instead?
- What is "Event Bubbling" and why is it important?
- If you click on a nested
<div>
which is listening for that click, does the event continue to bubble upwards to the enclosing <div>
elements?
- What is the "Event Handler"?
- What is the "Event Object"?
- How do you find the element which initially spawned the event?
- Why might you want to
stopPropagation
of an event?
- Why might you want to
preventDefault
for an event?
- How do you delegate an event listener?
- How is delegating an event listener to the parent often a better option than putting it directly on the children?
- How do you manually trigger an event?
- How do you remove an event handler from an object?
- Is a callback any different from a "handler"?
- How do you know which arguments your callback should handle?
- Why might you define an anonymous function as the callback instead of passing an already-existing named function?
- What is the value of
this
inside a callback function for a jQuery click handler?
- What is the value of
this
for any function you call inside that callback?
- What is an "Effect"?
- How do you show and hide an object?
- What is a "Toggle"?
- How do you pass a duration to an effect and why would you?
- How do you fade an element in or out?
- What does "Sliding" an element do?
- Are animations synchronous or asynchronous?
- What happens if you chain animations with normal jQuery functions?
- What happens if you chain animations with other animations?
- What's the problem with running too many or too complex animations?
- How do you stop an animation mid-stream?
- How do you delay animations?
- What is the
$.fx
object and why is it useful?
- What sorts of properties can be animated?
- How do you animate an arbitrary CSS property?
- What is "Easing"?
- Why might using CSS for animations actually be better than using JavaScript?
- What is the difference between
setInterval
and setTimeout
?
- How do you stop an interval or timeout?
- How do timeouts and intervals work with your browser on a conceptual level?
- Where are the jQuery docs located?
- How can you figure out the differences between multiple ways of calling a method if they are all listed in the docs?
- Why are you often allowed to pass objects instead of strings to jQuery methods?
- Why should you modify CSS classes instead of directly modifying the inline CSS styles on an object?