When They "feel" the Same - Code - Part 6

What’s the Difference Between Scope and Context in JavaScript? When Scope and Context "feel" like the same thing (but they are not)
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
$99.99
List Price:  $139.99
You save:  $40
€94.93
List Price:  €132.91
You save:  €37.97
£79.03
List Price:  £110.65
You save:  £31.61
CA$140.06
List Price:  CA$196.09
You save:  CA$56.03
A$153.89
List Price:  A$215.46
You save:  A$61.56
S$134.42
List Price:  S$188.19
You save:  S$53.77
HK$778.15
List Price:  HK$1,089.44
You save:  HK$311.29
CHF 88.46
List Price:  CHF 123.85
You save:  CHF 35.38
NOK kr1,106.89
List Price:  NOK kr1,549.69
You save:  NOK kr442.80
DKK kr708.13
List Price:  DKK kr991.41
You save:  DKK kr283.28
NZ$169.76
List Price:  NZ$237.67
You save:  NZ$67.91
د.إ367.26
List Price:  د.إ514.19
You save:  د.إ146.92
৳11,913.94
List Price:  ৳16,679.99
You save:  ৳4,766.05
₹8,449.26
List Price:  ₹11,829.30
You save:  ₹3,380.04
RM444.65
List Price:  RM622.53
You save:  RM177.88
₦168,698.12
List Price:  ₦236,184.12
You save:  ₦67,486
₨27,703.14
List Price:  ₨38,785.50
You save:  ₨11,082.36
฿3,443.25
List Price:  ฿4,820.69
You save:  ฿1,377.44
₺3,462.60
List Price:  ₺4,847.78
You save:  ₺1,385.18
B$598.25
List Price:  B$837.57
You save:  B$239.32
R1,818.71
List Price:  R2,546.27
You save:  R727.55
Лв185.54
List Price:  Лв259.76
You save:  Лв74.22
₩139,623.30
List Price:  ₩195,478.21
You save:  ₩55,854.90
₪365.09
List Price:  ₪511.14
You save:  ₪146.05
₱5,872.56
List Price:  ₱8,221.82
You save:  ₱2,349.26
¥15,186.98
List Price:  ¥21,262.38
You save:  ¥6,075.40
MX$2,025.91
List Price:  MX$2,836.36
You save:  MX$810.44
QR363.39
List Price:  QR508.76
You save:  QR145.37
P1,362.02
List Price:  P1,906.89
You save:  P544.86
KSh12,948.70
List Price:  KSh18,128.70
You save:  KSh5,180
E£4,970.06
List Price:  E£6,958.29
You save:  E£1,988.22
ብር12,601.88
List Price:  ብር17,643.14
You save:  ብር5,041.25
Kz91,089.09
List Price:  Kz127,528.37
You save:  Kz36,439.28
CLP$97,725.22
List Price:  CLP$136,819.22
You save:  CLP$39,094
CN¥725.08
List Price:  CN¥1,015.15
You save:  CN¥290.06
RD$6,009.89
List Price:  RD$8,414.09
You save:  RD$2,404.19
DA13,359.34
List Price:  DA18,703.61
You save:  DA5,344.27
FJ$226.94
List Price:  FJ$317.73
You save:  FJ$90.78
Q769.20
List Price:  Q1,076.91
You save:  Q307.71
GY$20,858.96
List Price:  GY$29,203.38
You save:  GY$8,344.42
ISK kr13,737.62
List Price:  ISK kr19,233.22
You save:  ISK kr5,495.60
DH998.96
List Price:  DH1,398.59
You save:  DH399.62
L1,830.82
List Price:  L2,563.22
You save:  L732.40
ден5,834.63
List Price:  ден8,168.72
You save:  ден2,334.08
MOP$798.95
List Price:  MOP$1,118.57
You save:  MOP$319.61
N$1,808.86
List Price:  N$2,532.48
You save:  N$723.61
C$3,668.81
List Price:  C$5,136.49
You save:  C$1,467.67
रु13,468.97
List Price:  रु18,857.10
You save:  रु5,388.12
S/375.25
List Price:  S/525.36
You save:  S/150.11
K402.01
List Price:  K562.83
You save:  K160.82
SAR375.60
List Price:  SAR525.86
You save:  SAR150.25
ZK2,719.29
List Price:  ZK3,807.12
You save:  ZK1,087.82
L472.45
List Price:  L661.45
You save:  L189
Kč2,399.23
List Price:  Kč3,359.02
You save:  Kč959.78
Ft39,362.83
List Price:  Ft55,109.54
You save:  Ft15,746.71
SEK kr1,093.94
List Price:  SEK kr1,531.56
You save:  SEK kr437.61
ARS$100,789.45
List Price:  ARS$141,109.26
You save:  ARS$40,319.81
Bs688.98
List Price:  Bs964.60
You save:  Bs275.62
COP$439,886.78
List Price:  COP$615,859.09
You save:  COP$175,972.31
₡50,922.11
List Price:  ₡71,293
You save:  ₡20,370.88
L2,521.57
List Price:  L3,530.31
You save:  L1,008.73
₲779,303.12
List Price:  ₲1,091,055.54
You save:  ₲311,752.42
$U4,282.79
List Price:  $U5,996.09
You save:  $U1,713.29
zł409.03
List Price:  zł572.67
You save:  zł163.63
Already have an account? Log In

Transcript

In the scope and context, seeing the same sub folder, open up the file, scope and context seeing the same two. So as you've seen a number of times in the class, here, we're iterating, all of these salespeople, and we're using the each each method on the each Li, and we're creating a reference to the particular Li or list items. So we're doing that by creating a variable called item. And that's equal to this. And as we know, this callback is executed in the context of the list item. So that kind of makes sense.

We're using this wrap with jQuery, and we're setting it equal to item and then we're saying item, find a select button, and then we're setting up the click handler for the click event handler for that Select button. So if you look at the next file, scope and context seeing the same three, we're accomplishing the same thing, but we're doing it differently. We're getting a hold of this second argument that's passed to the callback function. called DOM element, and we're wrapping it with jQuery. So we're saying item equals DOM element wrapped with jQuery. So let's take a look at what DOM element really is.

So back in you the web page, execute the example. Scope was shooting. When scope and context feel the same three. Okay, so I get a bunch of console outputs. And they're all the, almost the same thing. But you can see, it's Li salesperson, zero Li salesperson, one on salesperson two, and so forth.

So what's happening is, in each one of those cases, we're outputting a DOM element. So the point here is that this DOM element that you see in the console represents each of the list items or each of the salespeople DOM elements that we're iterating over. So this call back when you call it Each method, the callback receives two arguments. first argument is index, which is the numerical index of the element. And the second argument is the element itself. So in this case, it's kind of, if feels it's sort of where scope and context feel like the same thing in that we're creating a variable.

But what we're setting the variable to is the current DOM element over which we're iterating, which really is more of a context thing, because it's like when we use the word this earlier, it's the context of this method of this function is the DOM element that we're iterating over which is DOM elements. So this is a situation where it's kind of scope and context in the same line on line. 10. Item is definitely a variable that's scope. But then we're setting equal to an object, which is the context of which or context Which this function is being executed. Now, if you look at the file scope and context seem the same for, we're doing something a little bit different down here.

If you look, look back at three again and look at how we executed the toggle class method. We said salesperson underscore plus index will index as a variable. So we're using scope here to get a hold of the current element. So salesperson zero salesperson wants this person to and so forth. But in example, number four, we're just saying item we're using the item method we used appear which that's also a variable. But in a way, it's like we're scoping context are kind of having that fuzzy line because we're, we're setting the variable equal to the context on which this function is executed.

So in a way, we're kind of using scope a in context here at the same time, it's a variable item as a variable, but that item with a variable item variable is set to the context on which this function is being executed.

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.