Training: JavaScript – Advanced

Ref. JAS-02
Not certifying


This course is intended to take an basic or intermediate JavaScript developer and give him the knowledge he needs to create a cross-browser JavaScript library, from the ground, up. He will explore specific techniques, strategies, and solutions to developing robust, cross-browser, JavaScript code.

Participant profiles

  • Developers who interact with JavaScript on a daily basis and have a strong background in programming


  • Develop cross-browser JavaScript applications and libraries


  • Participants should have followed or have knowledge covered by: JavaScript – Fundamentals

Course content

Module 1: Advanced Concepts for Objects and Functions

  • Lesson 1: Functions are Objects
  • Lesson 2: First Class Functions
  • Lesson 3: Invoking Functions
  • Lesson 4: Creating JavaScript Objects
  • Lesson 5: Understanding this
  • Lesson 6: Examining this with Normal Function Invocation
  • Lesson 7: Normal Function Invocation Using strict mode
  • Lesson 8: Examining this with Method Invocation
  • Lesson 9: Understanding Prototypes
  • Lesson 10: Understanding the Prototype of Functions
  • Lesson 11: Using call and apply Function Methods
  • Lesson 12: Invoking Functions as Constructors: The Magic of new
  • Lesson 13: Constructor Invocation and the Value of this
  • Lesson 14: Higher Order Functions, Callbacks and the Problem with this
  • Lesson 15: Arrow Functions

Module 2: Think Like a Programmer: DRY Coding

  • Lesson 1: Abstraction and DRY Coding

Module 3: Working with Objects

  • Lesson 1: Working with Objects Introduction
  • Lesson 2: Detecting Properties on Objects
  • Lesson 3: Changing Property Attributes
  • Lesson 4: Making Objects Immutable
  • Lesson 5: ES6 Object Features

Module 4: The Power of Functions

  • Lesson 1: The Power of Functions Introduction
  • Lesson 2: Immediately Invoked Function Expressions (IIFEs)
  • Lesson 3: Understanding Closure
  • Lesson 4: Avoiding Global Variables
  • Lesson 5: Using the Namespace Pattern

Module 5: Think Like a Programmer: The Module Pattern

  • Lesson 1: The Module Pattern Part 1
  • Lesson 2: The Module Pattern: Part 2
  • Lesson 3: The Module Pattern: Part 3
  • Lesson 4: The Module Pattern: Part 4

Module 6: Working with Data: JavaScript Objects and JSON

  • Lesson 1: Introduction to Working with Data
  • Lesson 2: JSON Basics
  • Lesson 3: Creating a JSON File
  • Lesson 4: Loading a JSON File Using XMLHttpRequest
  • Lesson 5: Testing on a Server


  • Digital courseware included

Lab / Exercises

  • During the course participants are encouraged to actively participate in the learning experience by running example files during lectures and performing coding challenges during labs
  • Each lab session allows you to compare your solution to the instructor’s

Complementary courses

Temptraining funding

ITTA is a partner of Temptraining, the continuing education fund for temporary workers. This training fund can subsidize continuing education for anyone who works for an employer subject to the Collective Work Agreement (CCT) Rental of services.
Prix de l'inscription
CHF 1'500.-
Inclus dans ce cours
  • Training provided by an industry expert
  • Digital documentation and materials
  • Achievement badge

lun03Juin(Juin 3)09:00mar04(Juin 4)17:00Virtuel Etiquettes de sessionJAS-02

lun03Juin(Juin 3)18:00mar04(Juin 4)18:00Genève, Route des Jeunes 33B, 1227 Carouge Etiquettes de sessionJAS-02

lun08juil(juil 8)09:00mar09(juil 9)17:00Virtuel Etiquettes de sessionJAS-02

lun08juil(juil 8)18:00mar09(juil 9)18:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionJAS-02

lun12Aoû(Aoû 12)09:00mar13(Aoû 13)17:00Virtuel Etiquettes de sessionJAS-02

lun12Aoû(Aoû 12)18:00mar13(Aoû 13)18:00Genève, Route des Jeunes 33B, 1227 Carouge Etiquettes de sessionJAS-02

lun16Sep(Sep 16)09:00mar17(Sep 17)17:00Virtuel Etiquettes de sessionJAS-02

lun16Sep(Sep 16)18:00mar17(Sep 17)18:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionJAS-02

lun21Oct(Oct 21)09:00mar22(Oct 22)17:00Virtuel Etiquettes de sessionJAS-02

lun21Oct(Oct 21)18:00mar22(Oct 22)18:00Genève, Route des Jeunes 33B, 1227 Carouge Etiquettes de sessionJAS-02

lun25Nov(Nov 25)09:00mar26(Nov 26)17:00Virtuel Etiquettes de sessionJAS-02

lun25Nov(Nov 25)18:00mar26(Nov 26)18:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionJAS-02

Horaires d’ouverture

Du lundi au vendredi, de 8:30 à 18:00.


Votre demande

Opening hours

Monday to Friday, from 8:30 am to 06:00 pm.

Contact us

Your request