• Now all data be ready for publish, We had made our blog alive now. Haha.



  • These days CCP GFW blocked all the IPs from US and when I switch my IP in google Cloud, the disk data cannot be restore again. I have to restart my blog totally, Now the website is still building…



var functionName = function() {} vs function functionName() {}- Stack Overflow

Python PingBook 2 months ago (10-26) 13 0

Question

I’ve recently started maintaining someone else’s JavaScript code. I’m fixing bugs, adding features and also trying to tidy up the code and make it more consistent.

The previous developer uses two ways of declaring functions and I can’t work out if there is a reason behind it or not.

The two ways are:

var functionOne = function() {
// Some code
};

function functionTwo() {
// Some code
}

What are the reasons for using these two different methods and what are the pros and cons of each? Is there anything that can be done with one method that can’t be done with the other?

Answer

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
functionOne();

var functionOne = function() {
console.log(“Hello!”);
};

And, a function declaration:

// Outputs: “Hello!”
functionTwo();

function functionTwo() {
console.log(“Hello!”);
}

This also means you can’t conditionally define functions using function declarations:

if (test) {
// Error or misbehavior
function functionThree() { doSomething(); }
}

The above actually defines functionThree irrespective of test’s value — unless use strict is in effect, in which case it simply raises an error.




Copyright from PingBook Blog, If not specified, they are original. This site uses BY-NC-SAProtocol authenticated.
For reprinting, please indicate the link of the original text:var functionName = function() {} vs function functionName() {}- Stack Overflow
LIKE (0)
[1725641479@qq.com]
SHARE (0)
PingBook
Author:
We create, We sharing! Tag every value data your sharing
Submit comments
Cancel comments
emoji picture bold strikethrough center italic check in

Hi,you need to provide your name and email adress!

  • Name (Required)
  • Email (Required)
  • Website