Course description
JavaScript is the programming language of the World Wide Web, the code that makes a Web page come alive. The Document Object Model (DOM) 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.
Learning Paths
This course will help you prepare for the following certifications and exams:
MCSD: SharePoint Applications
MCSD: Web Applications
70-480: Programming in HTML5 with JavaScript and CSS3
This course is part of the following LearnNowOnline SuccessPaths™:
Web Development Fundamentals
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
Javascript Language
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)
Developer Tools
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)
Data Types
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)
Arithmetic Converters
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)
Operators
Relational Equality Comparison (30:20)
- 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:08)
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)
Looping and Exceptions
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)