Skip to content

Instantly share code, notes, and snippets.

@fluency03
Forked from max-mapper/0.md
Created March 13, 2017 15:15
Show Gist options
  • Select an option

  • Save fluency03/7ba15eef2fdfd237d2d029bf5c4df0a7 to your computer and use it in GitHub Desktop.

Select an option

Save fluency03/7ba15eef2fdfd237d2d029bf5c4df0a7 to your computer and use it in GitHub Desktop.
JS hoisting by example
// A (works)
function sayHi() {
console.log('hi!')
}
sayHi()
// B (works)
sayHi()
function sayHi() {
console.log('hi!')
}
// C (works)
var sayHi = function() {
console.log('hi!')
}
sayHi()
// D (does not work)
sayHi()
var sayHi = function() {
console.log('hi!')
}
// E (does not work)
(function sayHi() {
console.log('hi!')
})
sayHi()
// F (does not work)
sayHi()
(function sayHi() {
console.log('hi!')
})
// G (works)
(function sayHi() {
console.log('hi!')
})()
// H (works)
(function() {
console.log('hi!')
})()
// I (works)
var sayHi = (function() {
console.log('hi!')
})()
// J (works)
var sayHi = (function() {
console.log('hi!')
})
sayHi()
// K (does not work)
sayHi()
var sayHi = (function() {
console.log('hi!')
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment