JavaScript Proficiency (Advanced Level)

  • 25m
  • 25 questions
The JavaScript Proficiency benchmark assesses your ability to apply closures and implement inheritance using prototypes in JavaScript. You will be evaluated on your skills in working with the DOM of a web page, responding to events initiated by users, interacting with an end user's browser, and implementing form validation and asynchronous programming in JavaScript applications. A learner who scores high on this benchmark demonstrates that they have the skills to work with closures and prototypes, handle events, and implement asynchronous programming in JavaScript.

Topics covered

  • access individual form elements and their data contents from JavaScript
  • alter the contents of a web page by modifying its DOM
  • create handlers for the events of users clicking on a button and for modifying the contents of a text box
  • define a function making multiple asynchronous function calls using the async/await syntax
  • define a variety of form validations for different input fields
  • define handlers for mouse events on elements of your web page
  • delete or replace existing nodes in the DOM of your web page
  • distinguish between object prototypes and classes in JavaScript
  • distinguish between variables of the same name inside functions, within the closure, and ones defined in a global scope
  • identify operations which run asynchronously in your JavaScript application
  • implement getter and setter functions for JavaScript objects using closures
  • implement multiple levels of inheritance using prototypes
  • insert new elements into your web page by adding nodes to the DOM structure
  • integrate closures with buttons on a web page
  • recall how variables of the same name inside closures and in scopes outside them are accessed by functions
  • recognize how closures can be created within objects and its implications on your code
  • recognize how closures created within loops interact with variables defined within and outside the loop
  • recognize when variables are destroyed by JavaScript when a form submission navigates the user to a different web page
  • retrieve the children of elements of your web page as an array
  • use promises to chain the execution of two functions where one depends on the results returned by the other
  • use prototypes to implement inheritance in JavaScript
  • use the fetch function to asynchronously retrieve an image file and relate it to the XMLHttpRequest of AJAX
  • use the screen, window, and navigator objects of the BOM to get information about the end user's environment
  • use the window object to interact with the end user's browser
  • write a function to generate an animation by periodically updating the DOM of your web page