Learn your way! Get started

JavaScript: Fundamentals

with expert Don Kiely


Course at a glance


Release date 3/8/2012
Level
Runtime 6h 51m
Closed captioning Included
Transcript Included
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

JavaScript is the programming language of the World Wide Web, the code that makes a Web page come alive. Along with the objects exposed by a Web pages Document Object Model (DOM), the language lets you manipulate a page dynamically and provide instant responses to user actions, with or without ongoing interactions with the Web server. JavaScript is arguably also the most widely used programming language in the world, primarily because of its use in Web browsers. The language itself is a prototype-based interpreted scripting language that has dynamic and functional characteristics, is weakly typed and supports object-oriented programming. JavaScript long ago outgrew its scripting roots to become a solid, general-purpose programming language, suitable for large-scale development. In this course you will learn about the origins of JavaScript and its core language features, giving you a solid foundation on which to take advantage of the many benefits of this versatile language.

Prerequisites

Intermediate knowledge or experience creating web pages using HTML. Basic knowledge of computer programming in C++, C#, or Java.

Meet the expert

Don Kiely is a featured instructor on many of our SQL Server and Visual Studio courses. He is a nationally recognized author, instructor, and consultant specializing in Microsoft technologies. Don has many years of teaching experience, is the author or co-author of several programming books, and has spoken at many industry conferences and user groups. In addition, Don is a consultant for a variety of companies that develop distributed applications for public and private organizations.

Course outline



Module 1

JavaScript Langauge (27:19)
  • Introduction (04:19)
  • A Brief History of JavaScript (01:41)
  • The Good, Bad, and Ugly (01:46)
  • Rise to Fame (02:01)
  • EMCAScript: Standardized JS (00:47)
  • ECMAScript Releases (01:28)
  • State of ECMAScript (01:28)
  • Which Version Should You Use? (01:20)
  • The Name of the Language (01:24)
  • Language Versions (02:39)
  • JavaScript Across Browsers (02:36)
  • JavaScript May Not Be Available (01:41)
  • Developing and Debugging (01:47)
  • Which Browser To Use? (01:52)
  • Summary (00:23)
Developer Tools Part 1 (40:23)
  • Introduction (02:19)
  • Demo: Chrome Dev Tools (06:25)
  • Demo: Window Sections (02:45)
  • Demo: Settings (00:39)
  • Demo: Error Screen (00:36)
  • Elements Panel (00:29)
  • Demo: Elements Panel (05:55)
  • Demo: Side Bar Panes (08:54)
  • Resources Panel (00:26)
  • Demo: Resources Panel (03:41)
  • Network Panel (00:39)
  • Demo: Network Panel (07:18)
  • Summary (00:11)

Module 2

Developer Tools Part 2 (36:33)
  • Introduction (00:36)
  • Scripts Panel (00:34)
  • Demo: Scripts Panel (12:28)
  • Timeline Panel (00:33)
  • Demo: Timeline Panel (05:46)
  • Profiles Panel (00:24)
  • Demo: Profiles Panel (01:19)
  • Audits Panel (00:21)
  • Demo: Audits Panel (01:16)
  • Console Panel (00:46)
  • Demo: Console Panel (08:39)
  • JSLint (00:33)
  • Demo: JSLint (02:27)
  • Summary (00:44)
Working With Javascript (34:16)
  • Introduction (01:28)
  • The HTML Script Element (02:45)
  • HTML Comments in Script Tag (00:44)
  • Demo: HTML 5 (03:04)
  • The Anatomy of JavaScript (00:54)
  • Case Sensitivity (01:00)
  • Identifiers (01:35)
  • Reserved Words (01:33)
  • Literals (00:55)
  • Semicolons (01:11)
  • Demo: Write Method (05:34)
  • Whitespace (00:26)
  • Demo: Whitespace (06:14)
  • Comments (01:02)
  • Demo: Comments (03:20)
  • Learning from Other Web Sites (01:51)
  • Summary (00:33)

Module 3

JS Types and Numbers (28:06)
  • Introduction (03:17)
  • JavaScript Types (03:07)
  • Primary Types in JavaScript (01:02)
  • JavaScript Numbers (01:06)
  • Integer Literals (01:23)
  • Real Number Literals (01:13)
  • Arithmetic in JavaScript (00:40)
  • Demo: Math Object (15:56)
  • Summary (00:19)
Strings and Escape Sequences (25:22)
  • Introduction (00:26)
  • JavaScript Strings (01:08)
  • String Delimiters (01:12)
  • String Literals (00:45)
  • Line Breaks in String Literals (02:48)
  • Escape Sequences (01:03)
  • JavaScript Escape Sequences (01:40)
  • Demo: Escape Sequences (16:02)
  • Summary (00:12)
Booleans and Comparison (22:54)
  • Introduction (00:47)
  • JS Boolean Values (00:53)
  • Truthy and Falsy (02:55)
  • Demo: Boolean Values (02:32)
  • Special Values:null, undefined (01:03)
  • undefined (01:03)
  • Use null or undefined (01:13)
  • Demo: undefined (00:40)
  • Demo: null or undefined (01:53)
  • Type Comparisons (00:27)
  • Demo: Type Comparisons (03:49)
  • Object Comparisons (00:35)
  • Demo: Object Comparisons (04:37)
  • Summary (00:19)

Module 4

Type Conversions and Variables (46:52)
  • Introduction (01:36)
  • Demo: Conversions (05:08)
  • Demo: Implicit Conversions (02:49)
  • Explicit Type Conversions (00:58)
  • Wrapper Objects (01:44)
  • Demo: Wrapper Objects (05:37)
  • Methods and Parsing Functions (00:31)
  • Demo: Methods and Parsing (12:25)
  • Using Variables (00:45)
  • Variable Declaration (02:36)
  • Variable Cautions and Gotchas (02:47)
  • Variable Scope (00:52)
  • Demo: Variable Scope (03:53)
  • Variable Hoisting (00:37)
  • Demo: Variable Hoisting (03:43)
  • Summary (00:42)
Arithmetic Bitwise (24:51)
  • Introduction (02:53)
  • Operator-Based Expressions (00:53)
  • Operators and Expressions (00:52)
  • Arithmetic Operators (01:21)
  • Demo: Modulus (02:06)
  • Increment and Decrement (01:28)
  • Demo: Increment Operator (03:31)
  • Bitwise Operators (01:00)
  • Bitwise Logical Operators (01:07)
  • Demo: Logical Operators (02:17)
  • Bitwise Shift Operators (01:48)
  • Demo: Shift Operators (01:14)
  • Assignment Operators (02:22)
  • Assignment with Operation (00:54)
  • Summary (00:57)

Module 5

Relational Equality Comparison (30:36)
  • Introduction (01:00)
  • Relational Operators (00:49)
  • Equality and Inequality (01:05)
  • Evaluating Equality (01:32)
  • Evaluationg Strict Equality (02:12)
  • Comparsion Operators (01:31)
  • Logical Operators (04:10)
  • Demo: Logical Operators (06:38)
  • String Operators (00:43)
  • Special Operators (04:14)
  • Demo: Special Operators (06:14)
  • Summary (00:24)
Operator Characteristics (22:32)
  • Introduction (00:42)
  • Characteristics of Operators (07:06)
  • Other Expression Types (00:57)
  • Object Initializer Expressions (00:27)
  • Demo: Objects Initializer (03:19)
  • Property Access Expressions (00:33)
  • Process to Evaluate Access (01:13)
  • Demo: Property Access (02:05)
  • Invocation Expressions (01:37)
  • Object Creation Expressions (01:06)
  • Evaluation Expressions (00:29)
  • Demo: Evaluation Expressions (02:39)
  • Summary (00:14)

Module 6

JavaScript Statements (13:31)
  • Introduction (01:08)
  • Empty Statements (01:48)
  • Declaration Statements (00:21)
  • Variable Declaration Statements (01:49)
  • Function Declaration Statements (02:50)
  • Demo: Declaration Statements (02:23)
  • Expression Statements (01:47)
  • Block Statements (00:54)
  • Summary (00:26)
Jump And Conditionals (20:17)
  • Introduction (00:48)
  • Jump Statements (03:41)
  • Conditional Statements (01:10)
  • Demo: If Statement (07:58)
  • Switch Statement (00:34)
  • Basic Form of Switch Statement (02:20)
  • Demo: Switch Statement (03:11)
  • Summary (00:31)
Looping Statements (23:52)
  • Introduction (01:39)
  • While Statement (01:42)
  • Demo: While Statement (01:37)
  • Do While Statement (01:24)
  • Demo: Do While Statement (00:43)
  • For Statement (02:34)
  • Demo: For Statement (03:18)
  • For In Statement (00:40)
  • Demo: For In Statement (03:33)
  • Short Circuiting a Loop (01:34)
  • Demo: Short Circuiting (01:11)
  • Break Statements (00:53)
  • Continue Statement (01:26)
  • Demo: Continue Statement (00:57)
  • Summary (00:34)
Exception Handling (13:34)
  • Introduction (02:30)
  • try/catch/finally Statements (01:31)
  • Nesting Try Blocks (01:00)
  • Demo: try/catch/finally (02:32)
  • throw Statement (02:19)
  • Demo: throw Statement (03:09)
  • Summary (00:31)