Anonymous Function Hoisting

4 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$39.99
List Price:  $79.99
You save:  $40
€38.34
List Price:  €76.69
You save:  €38.35
£31.81
List Price:  £63.63
You save:  £31.81
CA$57.41
List Price:  CA$114.84
You save:  CA$57.43
A$63.97
List Price:  A$127.96
You save:  A$63.98
S$54.21
List Price:  S$108.43
You save:  S$54.22
HK$310.92
List Price:  HK$621.91
You save:  HK$310.99
CHF 35.74
List Price:  CHF 71.50
You save:  CHF 35.75
NOK kr452.69
List Price:  NOK kr905.49
You save:  NOK kr452.80
DKK kr285.99
List Price:  DKK kr572.05
You save:  DKK kr286.06
NZ$70.70
List Price:  NZ$141.42
You save:  NZ$70.72
د.إ146.88
List Price:  د.إ293.80
You save:  د.إ146.92
৳4,759.62
List Price:  ৳9,520.44
You save:  ৳4,760.81
₹3,397.10
List Price:  ₹6,795.05
You save:  ₹3,397.95
RM180.27
List Price:  RM360.59
You save:  RM180.32
₦61,792.91
List Price:  ₦123,601.28
You save:  ₦61,808.36
₨11,086.54
List Price:  ₨22,175.86
You save:  ₨11,089.31
฿1,367.71
List Price:  ฿2,735.76
You save:  ฿1,368.05
₺1,402.52
List Price:  ₺2,805.39
You save:  ₺1,402.87
B$243.37
List Price:  B$486.81
You save:  B$243.44
R732.54
List Price:  R1,465.27
You save:  R732.72
Лв74.93
List Price:  Лв149.89
You save:  Лв74.95
₩57,842.33
List Price:  ₩115,699.13
You save:  ₩57,856.80
₪145.51
List Price:  ₪291.06
You save:  ₪145.55
₱2,352.81
List Price:  ₱4,706.21
You save:  ₱2,353.40
¥6,256.23
List Price:  ¥12,514.03
You save:  ¥6,257.80
MX$803.05
List Price:  MX$1,606.30
You save:  MX$803.25
QR145.19
List Price:  QR290.43
You save:  QR145.23
P550.51
List Price:  P1,101.16
You save:  P550.64
KSh5,142.14
List Price:  KSh10,285.57
You save:  KSh5,143.43
E£2,034.81
List Price:  E£4,070.14
You save:  E£2,035.32
ብር4,965.06
List Price:  ብር9,931.37
You save:  ብር4,966.30
Kz36,710.82
List Price:  Kz73,430.82
You save:  Kz36,720
CLP$39,506.29
List Price:  CLP$79,022.46
You save:  CLP$39,516.17
CN¥291.78
List Price:  CN¥583.63
You save:  CN¥291.85
RD$2,425.42
List Price:  RD$4,851.45
You save:  RD$2,426.03
DA5,393.73
List Price:  DA10,788.81
You save:  DA5,395.08
FJ$92.63
List Price:  FJ$185.29
You save:  FJ$92.66
Q306.89
List Price:  Q613.86
You save:  Q306.97
GY$8,332.99
List Price:  GY$16,668.06
You save:  GY$8,335.07
ISK kr5,538.46
List Price:  ISK kr11,078.31
You save:  ISK kr5,539.84
DH400.86
List Price:  DH801.83
You save:  DH400.96
L734.57
List Price:  L1,469.33
You save:  L734.75
ден2,358.54
List Price:  ден4,717.67
You save:  ден2,359.13
MOP$318.86
List Price:  MOP$637.80
You save:  MOP$318.94
N$733.28
List Price:  N$1,466.76
You save:  N$733.47
C$1,465.68
List Price:  C$2,931.72
You save:  C$1,466.04
रु5,417.88
List Price:  रु10,837.11
You save:  रु5,419.23
S/148.31
List Price:  S/296.66
You save:  S/148.35
K161.51
List Price:  K323.07
You save:  K161.55
SAR150.21
List Price:  SAR300.46
You save:  SAR150.25
ZK1,102.28
List Price:  ZK2,204.85
You save:  ZK1,102.56
L190.81
List Price:  L381.67
You save:  L190.86
Kč963.45
List Price:  Kč1,927.14
You save:  Kč963.69
Ft15,873.63
List Price:  Ft31,751.23
You save:  Ft15,877.60
SEK kr441.19
List Price:  SEK kr882.49
You save:  SEK kr441.30
ARS$40,705.74
List Price:  ARS$81,421.67
You save:  ARS$40,715.92
Bs275.23
List Price:  Bs550.54
You save:  Bs275.30
COP$174,344.67
List Price:  COP$348,732.94
You save:  COP$174,388.27
₡20,095.61
List Price:  ₡40,196.26
You save:  ₡20,100.64
L1,011.06
List Price:  L2,022.38
You save:  L1,011.31
₲310,574.38
List Price:  ₲621,226.44
You save:  ₲310,652.05
$U1,776.52
List Price:  $U3,553.49
You save:  $U1,776.96
zł163.49
List Price:  zł327.04
You save:  zł163.54
Already have an account? Log In

Transcript

There is a really important concept that you need to understand when it comes to anonymous functions. And in this video tutorial, I'm going to show you this concept. So now suppose that we have these two functions. The first one is a simple function. The second one is an anonymous function. And they do the same exact thing.

Both of them take a number, multiply them by two and just print the number on the screen, they don't return anything, just they use the console dot log and print the value or the result on the screen or on the console. So here, if I call the first method, multiply by two, and a pass, two, and if I save and run, what I'm going to get is obviously four right and this call has come after defining the function right. But suppose that I call this function suppose that I call this function before the definition of the function before different Finding the function. If Now I add it here, paste here and I save and run. As you can see, I'm going to get for what how did JavaScript know that this multiply by two is a function, even though the definition of the function has come after the call of the function?

The reason is that there is some concept in JavaScript called hoisting. And what this concept is, is that at runtime, JavaScript takes all functions at the beginning. And then each call or any call comes after the definition of the function. So at runtime JavaScript will behind the scenes just take the take this function or any function at first, and then any call will come after after that here, right? But you don't see that because it happens behind the scenes. On the other hand, for anonymous functions, the case is completely different.

So for example, if I call the anonymous function here, multiply by two, I'm going to change this, this name by multiply by two variable so that we recognize that this is the anonymous function variable. And here, I'm going to call it variable. If I pass three, and if I save and write, obviously, I'm going to get six, right? That's absolutely right. Nothing wrong with that. But if I call the function if I copy this line of code and call the function before, before the definition of the anonymous function, if now I save and run, what I'm going to get is an error.

Because JavaScript does not know that this is even a function. It doesn't know that. It it doesn't know that because this is an anonymous function, and it's stored into a valid trouble. So all what JavaScript knows is that it's a variable, this is a variable, therefore, it's not going to take this variable at the beginning of the file. And then it's not going to add this line of code this this call for the function at the end as it did with the simple function. So you need to understand this very, very well, because when later when you use anonymous functions, you need to know that you add your call for the anonymous function after the declaration or after you create the inner anonymous function definition and store it into a variable.

Otherwise you will get an error. So you need to remember that the difference between say a simple function an anonymous function is that a simple function can be called anywhere. As long as you have created the function it doesn't matter where you add the code. If you are the call here if you are the call here, if you are the call here it doesn't even matter. What does matter is that you create a function, but on the other hand anonymous functions, the case is completely different. You need to add first the anonymous function with its variable and then they call this call should be should come after, after the creation of that function.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.