JavaScript cheat sheet
Syntax
-
Operators
+— addition with numbers, concatenation with strings.-— subtraction.*— multiplication./— division.%— modulus: get the remainder.++— add 1 onto the number.--— subtract 1 from the number.+=— shorthand add-=— shorthand subtract*=— shorthand multiply/=— shorthand dividevar x = 4; var y = 6; x++ // 5 y % 4 // 2 x += y; // same as: x = x + y x -= y; // same as: x = x - y x *= y; // same as: x = x * y x /= y; // same as: x = x / y
-
Logic
==— check if values are the same.===— check if values are the same, strictly—must be same data type.!=— check if values are different.!==— check if values are different, strictly—type is also checked.<=— less than or equal to.>=— greater than or equal to.>— greater than.<— less than.&&— and.||— or.
-
Math
Math.random()— generate a random number between 0 and 1.Math.round()— round the number to an integer.Math.ceil()— round the number up.Math.floor()— round the number down.document.documentElement.clientWidth— the width of the viewport.document.documentElement.clientHeight— the height of the viewport.// Random between two numbers var rand = Math.floor(Math.random() * (max - min)) + min;
-
Variables
var name = 'Triceratops'; // String var numberHorns = 3; // Number var isHerbivore = true; // Boolean // Arrays var carnivores = ['Tyrannosaurus', 'Velociraptor']; // Objects var spino = { name: 'Spinosaurus', isHerbivore: false } var isSpinoHerbivore = spino.isHerbivore; var raptor = carnivores[1]; // Functions var whatsUp = function (name) { alert('What’s up ' + name); }
-
Strings
+— combine (concatenate) strings together.length— count how many characters are in the string.toUpperCase()— convert all the letters to upper case.toLowerCase()— convert all the letters to lower case.slice(from, to)— get a chunk of text up to a specific point.substr(from, length)— get a chunk from the text of a specific length.replace('…', '…')— change one or more instances to something else.split('…')— create an array by breaking the string on a specific character.trim()— remove spaces at the start and end.
-
Arrays
things[1]— get a specific item from the array.length— count how many items are in the array.push(…)— add to the end of the array.pop()— remove from the end of the array.unshift(…)— add to the start of the array.shift()— remove from the start of the array.delete things[1]— delete an item from the array.
-
If-statements
if (planet == 'Venus') { // True path } else { // False path } if (planet == 'Venus' && isSecond) { }
-
Loops
var planets = ['Mercury', 'Venus', 'Earth', 'Mars']; var i = 0; var totalPlanets = planets.length; for (i = 0; i < totalPlanets; i++) { // For-loop } planets.forEach(function (item)) { // For-each loop });
-
Switches
var planet = 'Venus'; switch (planet) { case 'Mercury' : break; case 'Venus' : break; case 'Mars' : break; }
jQuery & HTML
-
Selections & events
var $dinos = $('.dinos'); var $trex = $('#trex'); var $action = $('[data-action]'); var $radio = $('[name="diet"]:checked'); // Including <> in the jQuery selector // will make a brand new element var $newDiv = $('<div>'); $trex.on('click', function (e) { // Click directly on #trex }); $dinos.on('click', 'li', function (e) { // Click on any <li> within .dinos }); $('form').on('submit', function (e) { // Stop the default action e.preventDefault(); })Common events:
click,focus,blur,mousedown,mouseover,mouseout,change,keydown,submit,animationend,transitionend& many, many more…
-
Manipulations
attr(attribute)— get an attribute value.attr(attribute, value)— change an attribute value.html()— get the entire HTML content of an element.html(value)— change the entire HTML content of an element.addClass(class)— add a class to an element.removeClass(class)— remove a class from an element.toggleClass(class)— toggle a class on/off.hasClass(class)— check if an element has a specific class.val()— get the form input’s value.val(value)— set the form input’s value;val('')would clear the input.append(value)— add new HTML inside the element, after what’s there.prepend(value)— add new HTML inside the element, before what’s there.before(value)— add new HTML outside the element, before it.after(value)— add new HTML outside the element, after it.remove()— delete the element from the page.show()— set an element’sdisplayproperty to make it visible—use with caution.hide()— setdisplay: none—use with caution.
-
Traversals
each(function)— loop over all the selected elements.filter(selector)— filter the selected elements by selector.find(selector)— find a specific element within another element.parent()— get the parent element of the current element.parents(selector)— find a parent element.children(selector)— find specific child elements.siblings(selector)— find specific siblings.eq(index)— get the element by its index.get()— get the raw JavaScript element.<ul> <li class="pterasaur">Quetzalcoatlus</li> <li class="dinosaur">Apatosaurus</li> <li class="plesiosaur">Elasmosaurus</li> </ul>$('li').each(function () { if ($(this).hasClass('dinosaur')) { $(this).show(); } });
Sample programs
-
Toggle class on list
<ul> <li>Titanosaurus</li> <li>Apatosaurus</li> <li>Brontosaurus</li> <li>Brachiosaurus</li> </ul>.is-clicked { background-color: limegreen; }$('ul').on('click', 'li', function (e) { $(this).toggleClass('is-clicked'); });
-
Generate a list
<ul class="dinos"></ul>var dinos = ['Stegosaurus', 'Ankylosaurus', 'Triceratops']; dinos.forEach(function (dino) { var $li = $('<li>'); $li.html(dino); $('body').append($li); });
-
Add class to parent
<main> <article> <button id="click-me">Click me!</button> </article> </main>$('#click-me').on('click', function (e) { $(this).parents('main').addClass('is-clicked'); });
-
Keyboard events
$('html').on('keydown', function (e) { var $theKey = $('strong'); $theKey.html(e.keyCode); $('body').append($theKey); });
-
Random width & height
<div class="rect"></div>var randWidth = Math.random() * 256; var randHeight = Math.random() * 256; $('.rect').css('width', randWidth); $('.rect').css('height', randHeight);
-
Trigger animation
<div class="ball"></div>.ball { background-color: red; animation-duration: 1s; animation-timing-function: ease-in-out; } @keyframes change-colour { 0% { background-color: red; } 100% { background-color: green; } }$('.ball').css('animation-name', 'change-colour');