JSVU (JavaScript Virtual User)-> A tool for simulating user interactions with web applications for testing purposes.

const myArr =[]
%DebugPrint(myArr)// Debugging the array with JSVU

two types of array

  • Holey Array: An array with empty slots. - SMI(small integer) - Packed element - Double(float,string,function)
  • Continous(packed) Array: An array with no empty slots. - SMI(small integer) - Packed element - Double(float,string,function)
    const myArr = [1, 2, 3, 4, 5];
    // Packed_SMI_elements // most optimized
    myArr.push(6.0) // Packed_Double_elements
    myArr.push("7")  // Packed_element
    

    if we downgrade the array then we cant upgrade it back (compiler dont work like that) even if delete the element for ex above even if we delete 6.0. it will packed_double_elements. SMI>DOUBLE>PACKED H_SMI>H_DOUBLE>H_PACKED ```js const arrFour = new Array(3) // just 3 holes . Holey_elements arrFour[0] = 1 // Holey_elements arrFour[1] = 2 // Holey_elements arrFour[2] = 3 // Holey_elements

// optimized way const arrFive =[]; arrFive.push(1) // Packed_SMI_elements arrFive.push(2) // Packed_SMI_elements arrFive.push(3) // Packed_SMI_elements ``` ——-

Event Loop

Microtask Queue (Higher Priority)

  • Promise .then(), .catch(), .finally()
  • async/await (when Promise resolves)
  • queueMicrotask()
  • MutationObserver callbacks

Task Queue (Lower Priority)

  • setTimeout(), setInterval()
  • setImmediate() (Node.js)
  • DOM events (click, scroll, etc.)
  • I/O operations (file reads, network requests)
  • MessageChannel, postMessage()

Execution Order

  1. Call Stack executes first
  2. Microtask Queue gets processed completely
  3. Task Queue gets one task processed
  4. Repeat steps 2-3

This site uses Just the Docs, a documentation theme for Jekyll.