https://github.com/gilbert/jsdn
JavaScript Diagram Notation
https://github.com/gilbert/jsdn
Last synced: 12 months ago
JSON representation
JavaScript Diagram Notation
- Host: GitHub
- URL: https://github.com/gilbert/jsdn
- Owner: gilbert
- Created: 2014-02-09T22:47:10.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2016-02-22T19:58:45.000Z (over 10 years ago)
- Last Synced: 2023-03-10T21:27:54.069Z (over 3 years ago)
- Language: JavaScript
- Size: 5.8 MB
- Stars: 29
- Watchers: 3
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# JSDN: JavaScript Diagram Notation
JSDN is a formalized way of visually simulating execution of the JavaScript language. It is both a diagram notation and set of simplified execution rules.
## Goals
JSDN is intended to be a tool for teaching not just the JavaScript language, but general Computer Science concepts as well (heap, stack, closures, garbage collection, etc.).
100% accuracy on internals representation is **not** a goal of JSDN. Consistency and concepts are favored over intricate details such as language performance optimizations. For example, every time a variable is assigned to a new string, in JSDN we say the string is *created*, even though the string may already exist depending on the JS runtime / interpretor.
## Material
1. [Variables and Function Calls](learn/jsdn-functions-1.pdf?raw=true)
2. [More Function Calls](learn/jsdn-functions-2.pdf?raw=true)
3. [Functions as Arguments](learn/jsdn-functions-3.pdf?raw=true)
4. [Closures](learn/jsdn-closures-1.pdf?raw=true)
5. [Closures 2](learn/jsdn-closures-2.pdf?raw=true)
6. [Objects in Memory](learn/jsdn-objects-1.pdf?raw=true)