Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

cluemediator/javascript-cheat-sheet

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

JavaScript Cheat Sheet: A Comprehensive List for Quick Reference

Thank you for checking out this project! If you find it useful, please consider giving it a star ⭐. Pull requests are always welcome and greatly appreciated. For more technical updates, follow us on Twitter @ClueMediator.

Note: This repository is dedicated to showcasing JavaScript content only. If you're interested in more technical content, please visit Clue Mediator's Website.

Table of Contents

JavaScript Cheat Sheet

  • Basics

    • On page script:

      <script type="text/javascript">
          ...
          ...
      </script>
    • Include external JS file:

      <script src="filename.js"></script>
    • Delay - 1 second timeout:

      setTimeout(function () {
      
      }, 1000);
    • Functions:

      function addNumbers(a, b) {
          return a + b;
      }
      x = addNumbers(1, 2);
    • Edit DOM element:

      document.getElementById("elementID").innerHTML = "";
    • Output:

      console.log(a);             // write to the browser console
      document.write(a);          // write to the HTML
      alert(a);                   // output in an alert box
      confirm("Really?");         // yes/no dialog, returns true/false depending on user click
      prompt("Your age?","0");    // input dialog. Second argument is the initial value
    • Comments:

      /* Multi line
      comment */
      
      // One line comment
  • Variables

    var a;                          // variable
    var b = "init";                 // string
    var c = "Hi" + " " + "Joe";     // = "Hi Joe"
    var d = 1 + 2 + "3";            // = "33"
    var e = [2,3,5,8];              // array
    var f = false;                  // boolean
    var g = /()/;                   // RegEx
    var h = function(){};           // function object
    const PI = 3.14;                // constant
    var a = 1, b = 2, c = a + b;    // one line
    let z = 'zzz';                  // block scope local variable
    • Strict mode:

      "use strict";   // Use strict mode to write secure code
      x = 1;          // Throws an error because variable is not declared
    • Values:

      false, true                     // boolean
      18, 3.14, 0b10011, 0xF6, NaN    // number
      "flower", 'John'                // string
      undefined, null , Infinity      // special    
    • Operators:

      a = b + c - d;      // addition, substraction
      a = b * (c / d);    // multiplication, division
      x = 100 % 48;       // modulo. 100 / 48 remainder = 4
      a++; b--;           // postfix increment and decrement
    • Bitwise operators:

      &	AND                     5 & 1 (0101 & 0001)     1 (1)
      |	OR                      5 | 1 (0101 | 0001)     5 (101)
      ~	NOT                     ~ 5 (~0101)             10 (1010)
      ^	XOR                     5 ^ 1 (0101 ^ 0001)     4 (100)
      <<	left shift              5 << 1 (0101 << 1)      10 (1010)
      >>	right shift             5 >> 1 (0101 >> 1)      2 (10)
      >>>	zero fill right shift   5 >>> 1 (0101 >>> 1)	2 (10)
    • Arithmetic:

      a * (b + c)         // grouping
      person.age          // member
      person[age]         // member
      !(a == b)           // logical not
      a != b              // not equal
      typeof a            // type (number, object, function...)
      x << 2  x >> 3      // minary shifting
      a = b               // assignment
      a == b              // equals
      a != b              // unequal
      a === b             // strict equal
      a !== b             // strict unequal
      a < b   a > b       // less and greater than
      a <= b  a >= b      // less or equal, greater or eq
      a += b              // a = a + b (works with - * %...)
      a && b              // logical and
      a || b              // logical or
  • Data Types

    var age = 18;                           // number 
    var name = "Jane";                      // string
    var name = {first:"Jane", last:"Doe"};  // object
    var truth = false;                      // boolean
    var sheets = ["HTML","CSS","JS"];       // array
    var a; typeof a;                        // undefined
    var a = null;                           // value null
    • Objects:

      var student = {                 // object name
          firstName:"Jane",           // list of properties and values
          lastName:"Doe",
          age:18,
          height:170,
          fullName: function() {     // object function
              return this.firstName + " " + this.lastName;
          }
      }; 
      student.age = 19;           // setting value
      student[age]++;             // incrementing
      name = student.fullName();  // call object function
  • Strings

    var abc = "abcdefghijklmnopqrstuvwxyz";
    var esc = 'I don\'t \n know';   // \n new line
    var len = abc.length;           // string length
    abc.indexOf("lmno");            // find substring, -1 if doesn't contain 
    abc.lastIndexOf("lmno");        // last occurance
    abc.slice(3, 6);                // cuts out "def", negative values count from behind
    abc.replace("abc","123");       // find and replace, takes regular expressions
    abc.toUpperCase();              // convert to upper case
    abc.toLowerCase();              // convert to lower case
    abc.concat(" ", str2);          // abc + " " + str2
    abc.charAt(2);                  // character at index: "c"
    abc[2];                         // unsafe, abc[2] = "C" doesn't work
    abc.charCodeAt(2);              // character code at index: "c" -> 99
    abc.split(",");                 // splitting a string on commas gives an array
    abc.split("");                  // splitting on characters
    128.toString(16);               // number to hex(16), octal (8) or binary (2)
  • Numbers and Math

    var pi = 3.141;
    pi.toFixed(0);          // returns 3
    pi.toFixed(2);          // returns 3.14 - for working with money
    pi.toPrecision(2)       // returns 3.1
    pi.valueOf();           // returns number
    Number(true);           // converts to number
    Number(new Date())      // number of milliseconds since 1970
    parseInt("3 months");   // returns the first number: 3
    parseFloat("3.5 days"); // returns 3.5
    Number.MAX_VALUE        // largest possible JS number
    Number.MIN_VALUE        // smallest possible JS number
    Number.NEGATIVE_INFINITY// -Infinity
    Number.POSITIVE_INFINITY// Infinity
    • Math:

      var pi = Math.PI;       // 3.141592653589793
      Math.round(4.4);        // = 4 - rounded
      Math.round(4.5);        // = 5
      Math.pow(2,8);          // = 256 - 2 to the power of 8
      Math.sqrt(49);          // = 7 - square root 
      Math.abs(-3.14);        // = 3.14 - absolute, positive value
      Math.ceil(3.14);        // = 4 - rounded up
      Math.floor(3.99);       // = 3 - rounded down
      Math.sin(0);            // = 0 - sine
      Math.cos(Math.PI);      // OTHERS: tan,atan,asin,acos,
      Math.min(0, 3, -2, 2);  // = -2 - the lowest value
      Math.max(0, 3, -2, 2);  // = 3 - the highest value
      Math.log(1);            // = 0 natural logarithm 
      Math.exp(1);            // = 2.7182pow(E,x)
      Math.random();          // random number between 0 and 1
      Math.floor(Math.random() * 5) + 1;  // random integer, from 1 to 5
    • Constants like Math.PI:

      E, PI, SQRT2, SQRT1_2, LN2, LN10, LOG2E, Log10E

  • Arrays

    var dogs = ["Bulldog", "Beagle", "Labrador"]; 
    var dogs = new Array("Bulldog", "Beagle", "Labrador");  // declaration
    
    alert(dogs[1]);             // access value at index, first item being [0]
    dogs[0] = "Bull Terier";    // change the first item
    
    for (var i = 0; i < dogs.length; i++) {     // parsing with array.length
        console.log(dogs[i]);
    }
    • Methods:

      dogs.toString();                        // convert to string: results "Bulldog,Beagle,Labrador"
      dogs.join(" * ");                       // join: "Bulldog * Beagle * Labrador"
      dogs.pop();                             // remove last element
      dogs.push("Chihuahua");                 // add new element to the end
      dogs[dogs.length] = "Chihuahua";        // the same as push
      dogs.shift();                           // remove first element
      dogs.unshift("Chihuahua");              // add new element to the beginning
      delete dogs[0];                         // change element to undefined (not recommended)
      dogs.splice(2, 0, "Pug", "Boxer");      // add elements (where, how many to remove, element list)
      var animals = dogs.concat(cats,birds);  // join two arrays (dogs followed by cats and birds)
      dogs.slice(1,4);                        // elements from [1] to [4-1]
      dogs.sort();                            // sort string alphabetically
      dogs.reverse();                         // sort string in descending order
      x.sort(function(a, b){return a - b});   // numeric sort
      x.sort(function(a, b){return b - a});   // numeric descending sort
      highest = x[0];                         // first item in sorted array is the lowest (or highest) value
      x.sort(function(a, b){return 0.5 - Math.random()});     // random order sort

      concat, copyWithin, every, fill, filter, find, findIndex, forEach, indexOf, isArray, join, lastIndexOf, map, pop, push, reduce, reduceRight, reverse, shift, slice, some, sort, splice, toString, unshift, valueOf

  • Dates

    Sat Jul 08 2023 12:18:24 GMT+0530 (India Standard Time)
    var d = new Date();
    1688798904720 miliseconds passed since 1970
    Number(d) 
    Date("2017-06-23");                 // date declaration
    Date("2017");                       // is set to Jan 01
    Date("2017-06-23T12:00:00-09:45");  // date - time YYYY-MM-DDTHH:MM:SSZ
    Date("June 23 2017");               // long date format
    Date("Jun 23 2017 07:45:00 GMT+0100 (Tokyo Time)"); // time zone
    • Get Times:

      var d = new Date();
      a = d.getDay();     // getting the weekday
      
      getDate();          // day as a number (1-31)
      getDay();           // weekday as a number (0-6)
      getFullYear();      // four digit year (yyyy)
      getHours();         // hour (0-23)
      getMilliseconds();  // milliseconds (0-999)
      getMinutes();       // minutes (0-59)
      getMonth();         // month (0-11)
      getSeconds();       // seconds (0-59)
      getTime();          // milliseconds since 1970
    • Setting part of a date:

      var d = new Date();
      d.setDate(d.getDate() + 7); // adds a week to a date
      
      setDate();          // day as a number (1-31)
      setFullYear();      // year (optionally month and day)
      setHours();         // hour (0-23)
      setMilliseconds();  // milliseconds (0-999)
      setMinutes();       // minutes (0-59)
      setMonth();         // month (0-11)
      setSeconds();       // seconds (0-59)
      setTime();          // milliseconds since 1970)
  • JSON

    var str = '{"names":[' +                    // crate JSON object
    '{"first":"Hakuna","lastN":"Matata" },' +
    '{"first":"Jane","lastN":"Doe" },' +
    '{"first":"Air","last":"Jordan" }]}';
    obj = JSON.parse(str);                      // parse
    document.write(obj.names[1].first);         // access
    • Send:

      var myObj = { "name":"Jane", "age":18, "city":"Chicago" };  // create object
      var myJSON = JSON.stringify(myObj);                         // stringify
      window.location = "demo.php?x=" + myJSON;                   // send to php
    • Storing and retrieving:

      myObj = { "name":"Jane", "age":18, "city":"Chicago" };
      myJSON = JSON.stringify(myObj);                 // storing data
      localStorage.setItem("testJSON", myJSON);   
      text = localStorage.getItem("testJSON");        // retrieving data 
      obj = JSON.parse(text);
      document.write(obj.name);
  • Regular Expressions

    var a = str.search(/CheatSheet/i);
    • Modifiers:

      i   perform case-insensitive matching
      g   perform a global match
      m   perform multiline matching
    • Patterns:

      \           Escape character
      \d          find a digit
      \s          find a whitespace character
      \b          find match at beginning or end of a word
      n+          contains at least one n
      n*          contains zero or more occurrences of n
      n?          contains zero or one occurrences of n
      ^           Start of string
      $           End of string
      \uxxxx      find the Unicode character
      .           Any single character
      (a|b)       a or b
      (...)       Group section
      [abc]       In range (a, b or c)
      [0-9]       any of the digits between the brackets
      [^abc]      Not in range
      \s          White space
      a?          Zero or one of a
      a*          Zero or more of a
      a*?         Zero or more, ungreedy
      a+          One or more of a
      a+?         One or more, ungreedy
      a{2}        Exactly 2 of a
      a{2,}       2 or more of a
      a{,5}       Up to 5 of a
      a{2,5}      2 to 5 of a
      a{2,5}?     2 to 5 of a, ungreedy
      [:punct:]   Any punctu­ation symbol
      [:space:]   Any space character
      [:blank:]   Space or tab
  • If-Else

    if ((age >= 14) && (age < 19)) {        // logical condition
        status = "Eligible.";               // executed if condition is true
    } else {                                // else block is optional
        status = "Not eligible.";           // executed if condition is false
    }
    • Switch Statement:

      switch (new Date().getDay()) {      // input is current day
          case 6:                         // if (day == 6)
              text = "Saturday";          
              break;
          case 0:                         // if (day == 0)
              text = "Sunday";
              break;
          default:                        // else...
              text = "Whatever";
      }
  • Loops

    • For Loop:

      for (var i = 0; i < 10; i++) {
          document.write(i + ": " + i*3 + "<br />");
      }
      var sum = 0;
      for (var i = 0; i < a.length; i++) {
          sum + = a[i];
      }               // parsing an array
      html = "";
      for (var i of custOrder) {
          html += "<li>" + i + "</li>";
      }
    • While Loop:

      var i = 1;                      // initialize
      while (i < 100) {               // enters the cycle if statement is true
          i *= 2;                     // increment to avoid infinite loop
          document.write(i + ", ");   // output
      }
    • Do While Loop:

      var i = 1;                      // initialize
      do {                            // enters cycle at least once
          i *= 2;                     // increment to avoid infinite loop
          document.write(i + ", ");   // output
      } while (i < 100)               // repeats cycle if statement is true at the end
    • Break:

      for (var i = 0; i < 10; i++) {
          if (i == 5) { break; }          // stops and exits the cycle
          document.write(i + ", ");       // last output number is 4
      }
    • Continue:

      for (var i = 0; i < 10; i++) {
          if (i == 5) { continue; }       // skips the rest of the cycle
          document.write(i + ", ");       // skips 5
      }
  • Global Functions

    eval();                     // executes a string as if it was script code
    String(23);                 // return string from number
    (23).toString();            // return string from number
    Number("23");               // return number from string
    decodeURI(enc);             // decode URI. Result: "my page.asp"
    encodeURI(uri);             // encode URI. Result: "my%page.asp"
    decodeURIComponent(enc);    // decode a URI component
    encodeURIComponent(uri);    // encode a URI component
    isFinite();                 // is variable a finite, legal number
    isNaN();                    // is variable an illegal number
    parseFloat();               // returns floating point number of string
    parseInt();                 // parses a string and returns an integer
  • Events

    <button onclick="myFunction();">
        Click here
    </button>
    • Mouse

      onclick, oncontextmenu, ondblclick, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseover, onmouseout, onmouseup

    • Keyboard

      onkeydown, onkeypress, onkeyup

    • Frame

      onabort, onbeforeunload, onerror, onhashchange, onload, onpageshow, onpagehide, onresize, onscroll, onunload

    • Form

      onblur, onchange, onfocus, onfocusin, onfocusout, oninput, oninvalid, onreset, onsearch, onselect, onsubmit

    • Drag

      ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop

    • Clipboard

      oncopy, oncut, onpaste

    • Media

      onabort, oncanplay, oncanplaythrough, ondurationchange, onended, onerror, onloadeddata, onloadedmetadata, onloadstart, onpause, onplay, onplaying, onprogress, onratechange, onseeked, onseeking, onstalled, onsuspend, ontimeupdate, onvolumechange, onwaiting

    • Animation

      animationend, animationiteration, animationstart

    • Miscellaneous

      transitionend, onmessage, onmousewheel, ononline, onoffline, onpopstate, onshow, onstorage, ontoggle, onwheel, ontouchcancel, ontouchend, ontouchmove, ontouchstart

  • Promises

    function sum (a, b) {
    return Promise(function (resolve, reject) { 
        setTimeout(function () {                                       // send the response after 1 second
            if (typeof a !== "number" || typeof b !== "number") {        // testing input types
                return reject(new TypeError("Inputs must be numbers"));
            }
            resolve(a + b);
        }, 1000);
        });
    }
    var myPromise = sum(10, 5);
    myPromsise.then(function (result) {
        document.write(" 10 + 5: ", result);
        return sum(null, "foo");              // Invalid data and return another promise
    }).then(function () {                   // Won't be called because of the error
    
    }).catch(function (err) {               // The catch handler is called instead, after another second
        console.error(err);                   // => Please provide two numbers to sum.
    });
    • States

      pending, fulfilled, rejected

    • Properties

      Promise.length, Promise.prototype

    • Methods

      Promise.all(iterable), Promise.race(iterable), Promise.reject(reason), Promise.resolve(value)

  • Errors

    try {                           // block of code to try
        undefinedFunction();
    }
    catch(err) {                    // block to handle errors
        console.log(err.message);
    }
    • Throw error:

      throw "My error message";    // throw a text
    • Input validation

      var x = document.getElementById("mynum").value; // get input value
      try { 
          if(x == "")  throw "empty";                 // error cases
          if(isNaN(x)) throw "not a number";
          x = Number(x);
          if(x > 10)   throw "too high";
      }
      catch(err) {                                    // if there's an error
          document.write("Input is " + err);          // output error
          console.error(err);                         // write the error in console
      }
      finally {
          document.write("</br />Done");              // executed regardless of the try / catch result
      }
    • Error name values

      RangeError      A number is "out of range"
      ReferenceError  An illegal reference has occurred
      SyntaxError     A syntax error has occurred
      TypeError       A type error has occurred
      URIError        An encodeURI() error has occurred

Happy Coding...!! 😊

About

JavaScript Cheat Sheet: A Comprehensive List for Quick Reference

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.