JSVU (JavaScript Virtual User)-> A tool for simulating user interactions with web applications for testing purposes.
const myArr =[] %DebugPrint(myArr)// Debugging the array with JSVUtwo 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_elementif 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
- Call Stack executes first
- Microtask Queue gets processed completely
- Task Queue gets one task processed
- Repeat steps 2-3