Function Scope

If we create a variable within a block of code, it is scoped to that block. This is different than in C#. Code blocks are marked with curly braces ( { } ). So a function has a block of code because it uses curly braces to define it. Let’s look at the previous code sample…

function add( num1, num2 ) {
    let newNum = num1 + num2;
    return newNum;
}
let addSum = add( 1, 2 ); // Variable to hold function call. Allows ease of use.
console.log( newNum ); // Displays ReferenceError: newNum is not defined

Notice that we are trying to access the newNum variable that is in the function block of code…within the curly braces. It is scoped to that block…encapsulated. So it cannot be accessed outside of that block of code.

Happy Coding!

Clay Hess

More To Explore

Code

A Quick Tour of the Web Encoding API

Modern web apps live at the boundary between JavaScript strings and raw bytes. The Web Encoding API exists to make that boundary explicit and safe: it lets you encode a string into UTF‑8 bytes and decode bytes back into text. Importantly, these operations aren’t symmetrical—encoding targets UTF‑8, while decoding can interpret UTF‑8 and many legacy encodings. Alongside the synchronous TextEncoder and TextDecoder, the platform also provides stream-based variants for processing text incrementally as data arrives.

Script Proofread And Sentence Grammar Spell Check
Code

EditContext API: A New Foundation for Custom Web Editors

The experimental EditContext API gives developers a new foundation for building custom rich text editors by separating text input and selection from rendering. Instead of relying on contenteditable, you attach an EditContext to a focusable element and manage your own text model, selection state, and UI updates—while still receiving browser-grade events for typing, caret movement, and IME composition. This demo highlights the core event flow and why character bounds matter for accurate input UI, especially in custom-rendered editors.

Share This Post

small_c_popup.png

Need help?

Let's have a chat...


Login

Jump Back In!

Here at Webolution Designs, we love to learn. This includes sharing things we have learned with you. 

Register

Begin Your Learning Journey Today!

Come back inside to continue your learning journey.