Our JavaScript course and exam are based on the following Intended Learning Outcomes (ILOs):
JavaScript Operators, Methods, and Keywords
Candidates can:
Complete and debug code that uses assignment and arithmetic operators
- Assignment, increment, decrement, addition, subtraction, division, multiplication, modulus, compound assignment operators (+=, -=, *=, /=, %=)
Apply JavaScript best practices
- Comments, indentation, naming conventions, noscript, constants, reserved keywords, debugger keyword, setting breakpoints, console.log
Evaluate the use of internal and external scripts
- When to use, how to use, and what happens when scripts are used at multiple levels
Implement exception handling
- try, catch, finally
Complete and debug code that interacts with the Browser Object Model (BOM)
- Displaying dialogs, determining screen size
Variables, Data Types, and Functions
Candidates can:
Declare and use variables of primitive data types
- Number, Boolean, String, null, undefined, type of operator, type-checking functions, use strict, converting between data types (parseInt, parseFloat), formatting numbers, string operations, eval(), toFixed(), toLocaleString(), toPrecision(), single quote vs. double quote (nesting), initialization
Declare and use arrays
- Single-dimensional arrays; multi-dimensional arrays; iteration; initialization; defining, sorting, and searching an array; push, pop, shift, and unshift methods; length property; accessing an array element
Complete and debug code that uses objects
- Properties, methods, instantiation, Date object, retrieving date and time parts, localizing date format (MM/DD vs DD/MM), adding and subtracting dates
Complete and debug code that uses built-in Math functions
- random, round, abs, floor, ceil, min, max, pow, sqrt
Complete and debug functions that accept parameters and return values
- Reusable code, local vs. global scope, redefining variables, passing parameters, value vs. reference, return values
Decisions and Loops
Candidates can:
Evaluate expressions that use logical and comparison operators
- !=, <, >, <=, >=, !, ==, &&, ||
Complete and debug decision statements
- Single alternative (if), dual alternative (if else), multiple alternative (switch), nested if
Complete and debug loops
- for, for in, while, do while, break, continue
Document Object Model
Candidates can:
Identify and construct the Document Object Model (DOM) tree
- window, document, body, other HTML elements
Identify and handle document, form, keyboard, and mouse events
- onload, onfocus, onblur, onchange, onkeydown, onkeyup, onkeypress, onclick, onmouseover, onmouseout
Complete and debug code that outputs to an HTML document
- document.write, innerHTML, textContent
Complete and debug code that locates, modifies, and adds HTML elements and attributes to documents
- getElementByld, getElementsByTagName, getElementsByClassName, setAttribute, createElement
Create events using event handlers and listeners
- DOM events, HTML attribute event, addEventListener
HTML Forms
Candidates can:
Complete and debug code that retrieves form input and sets form field values
- Retrieving form values; identifying the DOM path; getting values from different types of elements; prepopulating, masking, and updating values
Complete and debug code that performs input validation
- Case, string comparisons, Not-A-Number (NaN), not blank
Describe the form submission process
- onsubmit, POST vs. GET, potential targets for submission
This is one of the four exams you need to pass (or for which you must obtain a waiver) to earn the stackable CFSD® certificate.