var functionName = function() {} vs function functionName() {}

var functionName = function() {} vs function functionName() {}

Published at - Aug 13, 2021

The difference is that functionOne is a function expression and so only defined when that line is reached, whereas functionTwo is a function declaration and is defined as soon as its surrounding function or script is executed (due to hoisting).

For example, a function expression:

// TypeError: functionOne is not a function

var functionOne = function() {

And, a function declaration:

// Outputs: "Hello!"

function functionTwo() {

Historically, function declarations defined within blocks were handled inconsistently between browsers. Strict mode (introduced in ES5) resolved this by scoping function declarations to their enclosing block.

'use strict';    
{ // note this block!
  function functionThree() {
functionThree(); // ReferenceError

About author

Harendra Kanojiya

Hello, I am Harendra Kumar Kanojiya - Owner of this website and a Fullstack web developer. I have expertise in full-stack web development using Angular, PHP, Node JS, Python, Laravel, Codeigniter and, Other web technologies. I also love to write blogs on the latest web technology to keep me and others updated. Thank you for reading the articles.

Related Posts -

What does “use strict” do in JavaScript, and what is the reasoning behind it?
What does “use strict” ...

This article about Javascript Strict Mode might interest you: John Re...

How can I remove a specific item from an array?
How can I remove a specific ...

Find the index of the array element you want to remove using&nbs...

Copy to clipboard using javascipt
Copy to clipboard using jav ...

Use the following function below function copyToClipboard(text) { ...

Follow Us

Follow us on facebook Click Here

Facebook QR
Scan from mobile
Join our telegram channel Click Here
Telegram QR
Scan from mobile