1.1.1 |
List key JavaScript characteristics, including object-based nature, events, platformindependence, and differences between scripting languages and programming languages. |
Lessons
|
1.1.2 |
Identify common programming concepts, including objects, properties and methods. |
Lessons
|
1.1.3 |
Describe various JavaScript versions and flavors, including ECMA standards, JScript and similarities with proprietary scripting languages. |
Lessons
|
1.1.4 |
Distinguish between server-side and client-side JavaScript applications, including JavaScript interpreters and rendering engines. |
Lessons
|
1.1.5 |
Describe acceptable coding practices, including appropriate use of comment tags and the tag. |
Lessons
|
1.1.6 |
Examine the evolution of the role of JavaScript in simple Web page design, such as gaming, virtual reality (VR), native development, mobile device scripting and backend development. |
Lessons
|
1.2.1 |
Use attributes and methods to communicate with users, including the type attribute. |
Lessons
|
1.2.2 |
Define variables, data types and scope. |
Lessons
|
1.2.3 |
List keywords and reserved words. |
Lessons
|
1.2.4 |
Store user input in variables and evaluate for appropriate responses using the console and built-in methods such as alert() and prompt(). |
Lessons
|
1.2.5 |
Distinguish between concatenation and addition. |
Lessons
|
1.2.6 |
Use Apply operators, including string concatenation ( += ), strict comparison ( === , !==), mathematical precedence and bitwise operators. |
Lessons
|
1.2.7 |
Demonstrate how to use expressions. |
Lessons
|
1.2.8 |
Implement simple event handlers, including keyboard, mouse and mobile (gestures or touch) events. |
Lessons
|
1.3.1 |
Define and use methods as functions. |
Lessons
|
1.3.2 |
Demonstrate the use of various types of functions and function elements including prototype functions, anonymous functions, closure functions, arguments and the use of return values. |
Lessons
|
1.3.3 |
Distinguish between global and local variables. |
Lessons
|
1.3.4 |
Use the conditional operator. |
Lessons
|
1.3.5 |
Identify user events and event handlers. |
Lessons
|
1.3.6 |
Demonstrate the use of function specific methods including calling, binding and applying. |
Lessons
|
1.3.7 |
Use built-in functions and cast variables. |
Lessons
|
2.1.1 |
Demonstrate common steps for debugging JavaScript code, including reviewing code and testing code in different browsers and various devices. |
Lessons
|
2.1.2 |
Demonstrate how to use various native and supplemental debugging tools, including enabling/disabling display. |
Lessons
|
2.2.1 |
Use the if... statement. |
Lessons
|
2.2.2 |
Use the while... statement. |
Lessons
|
2.2.3 |
Use the do...while statement. |
Lessons
|
2.2.4 |
Use the for... statement. |
Lessons
|
2.2.5 |
Use the forEach statement. |
Lessons
|
2.2.6 |
Use the break and continue statements. |
Lessons
|
2.2.7 |
Use the switch... statement. |
Lessons
|
2.3.1 |
Use JavaScript to manipulate the Document Object Model (DOM). |
Lessons
|
2.3.2 |
Use the window object of the DOM. |
Lessons
|
2.3.3 |
Manipulate properties and methods of the document object within the DOM. |
Lessons
|
2.3.4 |
Use the image object of the DOM, including image rollover creation. |
Lessons
|
2.3.5 |
Use the history object of the DOM. |
Lessons
|
2.3.6 |
Evaluate and change URL information with the location object of the DOM. |
Lessons
|
2.3.7 |
Use the navigator object of the DOM. |
Lessons
|
2.3.8 |
Describe virtual DOM. |
Lessons
|
2.4.1 |
Use the String object to test user input. |
Lessons
|
2.4.2 |
Evaluate strings, including use of the length property, and use of the indexOf(), lastIndexOf(), substring() and charAt() methods. |
Lessons
|
2.4.3 |
Implement basic regular expressions and the RegExp object. |
Lessons
|
2.4.4 |
Use the Array object to create more efficient code. |
Lessons
|
2.4.5 |
Use the map() method. |
Lessons
|
2.4.6 |
Apply the Date and Math objects. |
Lessons
|
2.5.1 |
Create a custom JavaScript object. |
Lessons
|
2.5.2 |
Define properties and methods of custom objects. |
Lessons
|
2.5.3 |
Create new object instances. |
Lessons
|
2.5.4 |
Create client-side arrays using custom objects. |
Lessons
|
2.5.5 |
Create functions and methods for manipulating client-side arrays. |
Lessons
|
2.5.6 |
Use the prototype property, concept of classes, constructors, iterators and generators. |
Lessons
|
3.1.1 |
Identify steps and methods for changing HTML "on the fly," including the getElementById, getElementsByName, getElementsByTagName and getElementsByClassName methods of the DOM. |
Lessons
|
3.1.2 |
Modify attributes in HTML using DOM elements. |
Lessons
|
3.1.3 |
Modify form object values. |
Lessons
|
3.2.1 |
Identify and use form controls, including HTML5 form elements. |
Lessons
|
3.2.2 |
Define the form object. |
Lessons
|
3.2.3 |
Refer to form objects, including input, text, textarea, radio, checkbox, select, button, password, hidden, file and submit |
Lessons
|
3.2.4 |
Use form objects, including radio, select, button, text, input, textarea, checkbox, password, hidden, file and submit. |
Lessons
|
3.2.5 |
Conduct form validation. |
Lessons
|
3.2.6 |
Identify common form security issues. |
Lessons
|
3.3.1 |
Distinguish between the browser and the operating system in relation to the elements responsible for security. |
Lessons
|
3.3.2 |
Discuss browser security issues relevant to JavaScript, including script blocking, frame-toframe URL changing, and document.write behavior differences among browsers. |
Lessons
|
3.3.3 |
Define signed scripts |
Lessons
|
3.3.4 |
Perform client-side browser detection and determine browser compatibility. |
Lessons
|
3.3.5 |
Identify common issues and procedures for creating secure JavaScript code. |
Lessons
|
3.3.6 |
Define cross-site scripting and the associated security risks. |
Lessons
|
3.3.7 |
Define the functions and common uses of cookies. |
Lessons
|
3.3.8 |
Manipulate cookies effectively, including testing for presence of cookies, clearing cookies, enabling/disabling cookies in the browser, and deleting cookies from your hard drive. |
Lessons
|
3.3.9 |
Discuss ethics in collecting, storing, using and protecting user data |
Lessons
|
4.1.1 |
Identify and evaluate the benefits and drawbacks of using predefined libraries and frameworks, such as jQuery, Spry, Dojo, React.js, Angular.js and Prototype. |
Lessons
|
4.1.2 |
Identify steps for using libraries (such as jQuery), frameworks and available plug-ins, including, optimization for faster JavaScript manipulation. |
Lessons
|
4.1.3 |
Identify steps for loading and referencing external scripts and pre-made external scripts. |
Lessons
|
4.1.4 |
Identify and evaluate the benefits and drawbacks of Server-side JavaScript technologies. |
Lessons
|
4.1.5 |
Optimize page load time and user experience on various devices. |
Lessons
|
4.2.1 |
Define synchronous and asynchronous, fundamental AJAX elements, and procedures. |
Lessons
|
4.2.2 |
Explain the Fetch API, Promises and callback functions. |
Lessons
|
4.2.3 |
Use the XMLHttpRequest object to retrieve data. |
Lessons
|
4.2.4 |
Describe typical AJAX-based requests. |
Lessons
|
4.2.5 |
Identify key server response issues related to AJAX-based requests. |
Lessons
|
4.2.6 |
Use JavaScript to communicate with databases. |
Lessons
|
4.2.7 |
Identify and compare XML and JSON. |
Lessons
|
4.3.1 |
Define Web API (Application Programming Interface) and benefits |
Lessons
|
4.3.2 |
Identify and use Web APIs, including session storage, local storage, and GEO location. |
Lessons
|
4.3.3 |
Identify and use the Canvas API. |
Lessons
|