Code: WEB-007
Duration: 40 hours
Duration: 40 hours
Description
JavaScript is a universal scripting language that is both flexible and powerful. It is widely used as a scripting language for web browsers, it can create dynamic HTML content, and it is also used in the development of server-side applications on Node.js. The present course covers the main features of the language, traditional areas of its application and the various ways it is used in the development of web applications.The first part of the course covers in detail, the structure and syntax of the language, as well as its object model. The second part is dedicated to the DOM model of an HTML document. It also introduces CSS, and deals with DOM and CSS control using JavaScript. The course also covers event handling models, issues related to the creation of various forms, the XMLHttpRequest object, JSON and Ajax technologies, and provides an overview of the jQuery library.
Roadmap
Introduction to JavaScript- JavaScript versions
- Client-side JavaScript
- Examples of JavaScript use
- Popularity of JavaScript
Lexical structures
- Encoding and case sensitivity
- White spaces
- Comments
- Identifiers. Reserved words
Data types
- Numerical. Strings. Boolean
- Functions. Objects. Arrays
- null and undefined values
- Primitive types object wrappers
Variable
- Types and declaration
- Visibility scope. Block visibility
- Primitive and reference types
- Variables and object properties
Operators
- Overview of JS operators. The number of operands
- Operation priorities. Operator associativity
- Equality (==) and Identity (===)
- Conditional operators. String operators
Statements
- Conditional statements. The switch statement
- The while loop. The do/while statement
- The for loop. The for/in statement
- The break statement. The continue statement
Objects and arrays
- The object. The object properties
- Object as an array
- Standard object properties and methods
- Array. Accessing array elements
Exception handling in JavaScript
- The concept of an exception
- Throw. try-catch-finally
- Best practice of exception handling
Functions
- Function definition and call
- Function arguments and the Arguments object
- Functions as data. Functions as methods
- Methods and properties of the object function
Classes and prototypes
- Constructors
- A prototype and property inheritance
- Emulation of JavaScript classes
- General methods. Class inheritance
JavaScript in a web browser
- Role of JS in Web, overview of main JS capabilities in a web browser
- The window object as global context
- Inserting JS into HTML. Running JS programs
- JavaScript security
Document Object Model
- DOM model. DOM Level 0. W3C DOM
- Universal tree representation
- HTML implementation of DOM models
- W3C versions of DOM model
Cascading style sheets
- Introduction to CSS
- Scope and positioning attributes
- CSS box-model
- The Visibility and Display attributes
The HTTP protocol
- Web servers
- POST and GET methods
- Other methods
- The HTTP state codes
Forms
- Accessing forms and form elements
- Defining form elements
- General properties of form elements
- Form elements
Browser window control
- Timers. The window.location property
- History of document loads
- Window geometry. The Screen object
- The Navigator object. Opening a new window
The jQuery library
- Overview of jQuery. jQuery selectors
- DOM manipulations. CSS manipulations
- Using jQuery to create event handlers
- Using jQuery to create visual effects
Events
- Event-driven programming. Adding event handlers
- Browser events. Documents events
- Form events. Keyboard events
- Mouse events
Cookies
- Cookies overview. Security and limitations
- Cookie lifetime. Creating cookie, cookie visibility
- Reading cookie. Deleting cookie
- Using jQuery to work with cookie (jQuery plugin)
Asynchronous programming in JavaScript
- Asynchronous programming
- The advantages of asynchronous programming
- A back call function as a basis of asynchronous programming
- XMLHttpRequest. XML for AJAX. JSON for AJAX
Model-View-Controller frameworks for JavaScript
- What is MVC?
- Typical capabilities of MVC frameworks
- Backbone.js
- Other MVC frameworks
JavaScript tools
- Debugging JavaScript
- Code compression
- Testing JavaScript applications
- ECMAScript 6
Objectives
- Understand the capabilities of JavaScript
- Learn to write medium and advanced difficulty scripts for the majority of the tasks related to development of a dynamic user interface in modern web apps, including Ajax technology
Target Audience
- Beginner or advanced developers of applications with web interfaces or Internet sites.