Code viewer for World: Variable Scope
/*https://editor.p5js.org/p5/sketches/Data:_Variable_Scope
 * @name Variable Scope
 * @description Variables have a global or function "scope". For example,
 * variables declared within either the setup() or draw() functions may be
 * only used in these functions. Global variables, variables declared outside
 * of setup() and draw(), may be used anywhere within the program. If a function
 * variable is declared with the same name as a global variable, the program
 * will use the function variable to make its calculations within the current
 * scope.
 */
let a = 80; // Create a global variable "a"

function setup() {
  createCanvas(720, 400);
  background(0);
  stroke(255);
  noLoop();
}

function draw() {
  // Draw a line using the global variable "a"
  line(a, 0, a, height);

  // Use a local variable a in for loop
  for (let a = 120; a < 200; a += 3) {
    line(a, 0, a, height);
  }

  // Make a call to the custom function drawAnotherLine()
  drawAnotherLine();

  // Make a call to the custom function drawYetAnotherLine()
  drawYetAnotherLine();
}

function drawAnotherLine() {
  // Create a new variable "a" local to this function
  let a = 320;
  // Draw a line using the local variable "a"
  line(a, 0, a, height);
}

function drawYetAnotherLine() {
  // Because no new local variable "a" is set,
  // this line draws using the original global
  // variable "a" which is set to the value 20.
  line(a + 3, 0, a + 3, height);
}