<h2>Optional Parameters with <code>window.setTimeout()</code></h2>
  <p>The <code>window.setTimeout()</code> method take an optional number of unlimited parameters after the function and the delay value. These parameters allow you to pass values into the function. The button starts a timer that passes in two values and adds them up inside the function after the specified delay.</p>

  <button>Start Calculation</button>

body {
  font-family: Arial, sans-serif;
  font-size: 20px;
  padding: 0 20px;

main {
  text-align: center;
  margin: 0 auto;
  max-width: 800px;

p {
  text-align: left;
  padding: 0 20px;

code {
  color: firebrick;

output {
  display: block;
  padding: 20px;
  font-weight: bold;
let btn = document.querySelector('button'),
    op = document.querySelector('output'),
    a = 5,
    b = 7;

btn.addEventListener('click', () => {
  op.innerHTML = 'Calculating...';
  setTimeout(doSomething, 2000, a, b);

function doSomething (a, b) {
  op.innerHTML = a + b;

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.