Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • JS Tutorial
  • JS Exercise
  • JS Interview Questions
  • JS Array
  • JS String
  • JS Object
  • JS Operator
  • JS Date
  • JS Error
  • JS Projects
  • JS Set
  • JS Map
  • JS RegExp
  • JS Math
  • JS Number
  • JS Boolean
  • JS Examples
  • JS Free JS Course
  • JS A to Z Guide
  • JS Formatter
Open In App
Next Article:
How asynchronous JavaScript code gets executed in browser ?
Next article icon

How JavaScript works and code is executed behind the scene ?

Last Updated : 21 Sep, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

JavaScript is an interesting language in the world and its working procedure quite be different from other languages. JavaScript is synchronous(specific order of execution), single-threaded language(it means JavaScript can only execute one command at a time). 

Everything in JavaScript happens insides an EXECUTION CONTEXT, which you can assume to be a big box or a container in which whole JavaScript code is executed. The EXECUTION CONTEXT contains two parts one is Memory(Variable Environment), where all the variables and functions store key: value pair and the other is Code Component(Thread of Execution), where code is executed one line at a time(pictorial representation shown in below). 

PICTORIAL REPRESENTATION OF EXECUTION CONTEXT

Now, What happens when you run JavaScript Code?

The simple answer is: A Execution Context Created. 

Now I write a demo code below and I will say line by line, how the code run.  

JavaScript
<script>     var n = 3;     function squr(num) {         var ans = num * num;         return ans;     }     var three = squr(n); </script> 

When you run this whole code a global EXECUTION CONTEXT is created and it contains two parts one is memory and the other is code execution. 

When the first line is encountered it will reserve memory for all variables(n, three, five) and function(square). When reserving the memory for variables it reserves a special value undefined and for function, it stores whole code. the pictorial representation is shown below.

PICTORIAL REPRESENTATION OF GLOBAL EXECUTION CONTEXT

After allocating memory for all variables and function, code execution phase starts(code runs line by line). 

Line 1: var n=3,  3 value placed into the n identifier.

Line 2-5: nothing to execute.

line:6: we invoke a function, now function is the heart of JavaScript. The function is a mini-program and whenever a new function is invoked all together a new EXECUTION CONTEXT is created(inside the code execution phase). it also contains two-part memory and code execution phase. Memory is allocated for variable and function(it involves function parameters and other variables).

PICTORIAL REPRESENTATION OF FUNCTION EXECUTION CONTEXT

After allocating memory, the code execution phase comes here the code inside the function executes, and undefined is replaced by the actual value. 

PICTORIAL REPRESENTATION  OF EXECUTION CONTEXT WHILE FUNCTION EXECUTE

After that when return is encountered return the control of the program to the place where the function is invoked, control goes to line 6, it's find the answer in local memory and return the control three and value of three(undefined) replaced by the value of ans and after that whole thing deleted(execution context). 

PICTORIAL REPRESENTATION OF GLOBAL EXECUTION CONTEXT AFTER  CODE EXECUTED

After that Global Execution Context is Deleted and our program ends. And One more thing, JavaScript Handle everything deleted and created (to manage the execution context) it's managing a stack. It,s name CALL STACK. It's a Stack that maintains the order of execution. 


Next Article
How asynchronous JavaScript code gets executed in browser ?
author
dassubhadeep
Improve
Article Tags :
  • JavaScript
  • Web Technologies
  • Blogathon
  • Blogathon-2021
  • JavaScript-Questions

Similar Reads

  • How to Execute JavaScript Code ?
    Javascript is a high-level, Just In Time compiled programming language which converts the entire machine code at once and then executes it immediately. Javascript code is executed by the Javascript Engine, which is separate software. Different browsers have their own implementation of JS Engine embe
    2 min read
  • How React JSX gets Transformed into JavaScript behind the Scenes
    React has revolutionized UI development by introducing JSX, a syntax that blends JavaScript with HTML-like elements. While JSX simplifies the process of building components, understanding its inner workings is key to creating scalable and performant applications. This article explores how inline Jav
    9 min read
  • How asynchronous JavaScript code gets executed in browser ?
    Functions or operations that are running in parallel with the other functions or operations are called the asynchronous functions or operations in JavaScript. Asynchronous functions use Callback Functions that get executed later. Let us see an example that demonstrates this: [GFGTABS] JavaScript set
    3 min read
  • How Node.js works behind the scene ?
    Node.js is the JavaScript runtime environment which is based on Google’s V8 Engine i.e. with the help of Node.js we can run the JavaScript outside of the browser. Other things that you may or may not have read about Node.js is that it is single-threaded, based on event-driven architecture, and non-b
    5 min read
  • JavaScript - How Does Asynchronous Code Work?
    Asynchronous code in JavaScript allows to execute code in the background without blocking the main thread. Asynchronous JavaScript is mainly used for handling tasks like network requests, file operations, and API calls. To understand how asynchronous code works, it's important to first know the conc
    4 min read
  • How closure works in JavaScript ?
    In this article, we will discuss about the closures working JavaScript. Let us first understand what exactly closures are and basic details which are associated with closures in JavaScript. A Closure is a combination of a function enclosed with references to its surrounding state (the lexical enviro
    2 min read
  • How to Execute JavaScript After Page Load?
    When a webpage loads, it takes time. The browser reads the HTML, builds the Document Object Model (DOM), and starts rendering the page. If your JavaScript runs too early, it might try to change elements that aren't ready yet, causing errors. Running JavaScript after the page loads makes sure all the
    5 min read
  • How getElementByID works in JavaScript ?
    The document method getElementById() returns an element object representing the element whose id property matches with the given value. This method is used to manipulate an element on our document & is widely used in web designing to change the value of any particular element or get a particular
    2 min read
  • What's the difference between JavaScript and JScript?
    JavaScript: JavaScript is a programming language which is commonly used in wed development. Its code is only run in web browser. JavaScript is one of the core technologies of world wide web along with HTML and CSS. JavaScript was designed by Brendan Eich and it was first appeared in 4 December 1995.
    2 min read
  • How Much JavaScript is Required to Become Front End Developer?
    Front-end Development is the part of web development that is focused on the user end of a website or web application. It involves the development of elements that provides the interaction between the user and browsers. HTML, CSS, and JavaScript are the main components used by front-end developers. H
    8 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences