JSFiddle - React, Tailwind, and code Playground
by jcreamer898
JavaScript
(function() {
var x = 1;
// console.log(x);
}());
// IIFE
// Immediately Invoked Function Expression
function outer() {
var x = 1;
function inner() {
// var x = 2;
x = 3;
// console.log("inner", x);
};
inner();
// console.log("outer", x); // 1 or 3?
};
outer();
// Revealing Module Pattern
var Animal = (function() {
var _speak = function() {
console.log("private speak");
};
// API Animal module
return {
speak: _speak
};
}());
Animal.speak();
// Revealing Prototype
var Animal = (function() {
var Animal = function() {
};
var _speak = function() {
console.log("private speak");
};
Animal.prototype.speak = _speak;
// Return constructor
return Animal;
}());
var Dog = (function() {
var Dog = function() {
};
var _speak = function() {
console.log("private speak");
};
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = _speak;
// Return constructor
return Dog;
}());
(new Animal()).speak();
(new Dog()).speak();