JS-101-Fundamentals
  • JavaScript Library
  • 1-JavaScript Fundamentals
    • 0-Getting Started
      • Welcome
    • 1-JS-Fundamentals
      • 1-Grammar and Types
        • Comments
        • Declarations
        • Scope
        • Hoisting
        • Types
        • Literals
      • 2-Control Flow and Error Handling
        • if
        • if else
        • switch
        • try catch
        • throw
      • 3-Loops
        • For Loops
        • For In Loops
        • For Of Loops
        • Do While
        • While Loops
      • 4-Functions
        • Declarations
        • Expressions
        • Calling Functions
        • Scope
        • Parameters
        • Arguments
        • Closures
        • Closures Challenge
        • Arrow Functions
        • Predefined
      • 5-Expressions and Operators
        • Assignment
        • Comparison
        • Ternary
        • Typeof
        • Left Hand Side
        • Spread
      • 6 Numbers and Dates
        • Numbers
          • Numbers Enhanced
        • Math
        • Dates
      • 7 String Methods
        • String Literals
        • Methods
      • 8 Regular Expressions
        • Basic Intro
      • 9 Arrays
        • Array Review
        • Populating/Referring
        • Length
        • Iterating
        • Methods
      • 10 Objects
        • About Objects
        • Properties
        • Enumeration
        • Initializers
        • Constructor Functions
        • this
        • create
        • Methods
      • 11 ES6 Intro
        • ES6 Intro
        • let
        • const
Powered by GitBook
On this page
  • Rules
  • File Location
  • Anonymous Functions
  • Naming a function expression
  • No Hoisting
  • Practice
  1. 1-JavaScript Fundamentals
  2. 1-JS-Fundamentals
  3. 4-Functions

Expressions

Rules

  1. Can be anonymous.

  2. Cannot be hoisted.

File Location

We will be working in the following file:

    javascript-library
        └── 0-PreWork
        └── 1-Fundamentals
            └── 1-Grammar-and-Types
            └── 2-ControlFlow-and-ErrorHandling
            └── 3-Loops
            └── 4-Functions
                02-expressions.js <----You will be working in this file.

Anonymous Functions

When we say that function expressions can be anonymous, you'll see below that the function does not have a name after the function keyword is used:

var sayHello = function(){
    console.log("Hello");
}

Naming a function expression

You can also put a name on a function expression:

var sayHowdy = function howdy(){
    console.log("Howdy");
}

//Printing the value
console.log(sayHowdy());

No Hoisting

Function expressions CAN NOT be hoisted in JavaScript. This means that the call can not come before the function is declared.

//The call - this would cause an error
fooFunction(); 

//The expression
var foo = function fooFunction() {
  console.log('foo');
}

Practice

Practice writing 3 different function expressions of your own choosing.

PreviousDeclarationsNextCalling Functions

Last updated 7 years ago