You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/1-intro/article.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,12 +67,12 @@ The examples of such restrictions are:
67
67
68
68
Modern browsers allow it to work with files, but the access is limited and only provided if the user does certain actions, like "dropping" a file into a browser window or selecting it via an `<input>` tag.
69
69
70
-
There are ways to interact with camera/microphone and other devices, but they require an explicit user's permission. So a JavaScript-enabled page may not sneakily enable a web-camera, observe the surroundings and send the information to the [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
70
+
There are ways to interact with camera/microphone and other devices, but they require a user's explicit permission. So a JavaScript-enabled page may not sneakily enable a web-camera, observe the surroundings and send the information to the [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
71
71
- Different tabs/windows generally do not know about each other. Sometimes they do, for example when one window uses JavaScript to open the other one. But even in this case, JavaScript from one page may not access the other if they come from different sites (from a different domain, protocol or port).
72
72
73
73
That is called a "Same Origin Policy". To workaround that, *both pages* must contain a special JavaScript code that handles data exchange.
74
74
75
-
The limitation is again for user's safety. A page from `http://anysite.com` which a user has opened occasionaly must not be able to open or access another browser tab with the URL `http://gmail.com` and steal information from there.
75
+
The limitation is again for user's safety. A page from `http://anysite.com` which a user has opened occasionally must not be able to open or access another browser tab with the URL `http://gmail.com` and steal information from there.
76
76
- JavaScript can easily communicate over the net to the server where the current page came from. But its ability to receive data from other sites/domains is crippled. Though possible, it requires the explicit agreement (expressed in HTTP headers) from the remote side. Once again, that's safety limitations.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/3-devtools/article.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,9 +29,9 @@ It looks somewhat like this:
29
29
The exact look of developer tools depends on your version of Chrome. It changes from time to time, but should be similar.
30
30
31
31
- Here we can see the red-colored error message. In this case the script contains an unknown "lalala" command.
32
-
- On the right, there is a clickable link to the source `bug.html:12` with the line number where the error has occured.
32
+
- On the right, there is a clickable link to the source `bug.html:12` with the line number where the error has occurred.
33
33
34
-
Below the error message there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands and press `key:Enter` to run them (`key:Shift+Enter` to input multiline commands).
34
+
Below the error message there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands and press `key:Enter` to run them (`key:Shift+Enter` to input multi-line commands).
35
35
36
36
Now we can see errors and that's enough for the start. We'll be back to developer tools later and cover debugging more in-depth in the chapter <info:debugging-chrome>.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/04-variables/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,7 +141,7 @@ It may be interesting to know that there also exist [functional](https://en.wiki
141
141
142
142
In such languages, once the value is stored "in the box" -- it's there forever. If we need to store something else -- the language forces to create a new box (declare a new variable), we can't reuse the old one.
143
143
144
-
Though it may seem a little bit odd at the first sight, these languages are quite capable of serious development. More than that, there are areas like parallel computations where this limitation infers certain benefits. Studying of such a language (even if not planning to use it soon) is recommended to broaden the mind.
144
+
Though it may seem a little bit odd at first sight, these languages are quite capable of serious development. More than that, there are areas like parallel computations where this limitation infers certain benefits. Studying of such a language (even if not planning to use it soon) is recommended to broaden the mind.
145
145
```
146
146
147
147
## Variable naming [#variable-naming]
@@ -277,7 +277,7 @@ Benefits:
277
277
278
278
When should we use capitals for a constant, and when -- name them normally? Let's make that clear.
279
279
280
-
Being a "constant" just means that the value never changes. But there are constants that are known prior to execution (like a hexadimal value for red), and there are those that are *calculated* in run-time, during the execution, but do not change after the assignment.
280
+
Being a "constant" just means that the value never changes. But there are constants that are known prior to execution (like a hexadecimal value for red), and there are those that are *calculated* in run-time, during the execution, but do not change after the assignment.
281
281
282
282
For instance:
283
283
```js
@@ -290,7 +290,7 @@ In other words, capital-named constants are only used as aliases for "hard-coded
290
290
291
291
## Name things right
292
292
293
-
Talking about variables, there's one more exteremely important thing.
293
+
Talking about variables, there's one more extremely important thing.
294
294
295
295
Please name the variables sensibly. Take time to think if needed.
Copy file name to clipboardExpand all lines: 1-js/06-advanced-functions/03-closure/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ Different languages behave differently here, in this chapter we cover JavaScript
15
15
16
16
## A couple of questions
17
17
18
-
Let's formulate two questions for the seed, and then study internal mechanics piece-by-piece, so that you'll be able to answer these questions and more complex ones in the future.
18
+
Let's formulate two questions for the seed, and then study the internal mechanics piece-by-piece, so that you'll be able to answer these questions and more complex ones in the future.
19
19
20
20
1. The function `sayHi` uses an external variable `name`. When the function runs, which value of these two it's going to use?
21
21
@@ -176,7 +176,7 @@ sayHi(); // Pete
176
176
177
177
The execution flow of the code above:
178
178
179
-
1. The global Lexical Envrionment has `name: "John"`.
179
+
1. The global Lexical Environment has `name: "John"`.
180
180
2. At the line `(*)` the global variable is changed, now it has `name: "Pete"`.
181
181
3. When the function `say()`, is executed and takes `name` from outside. Here that's from the global Lexical Environment where it's already `"Pete"`.
182
182
@@ -565,7 +565,7 @@ Lexical Environment objects that we've been talking about are subjects to same m
565
565
return function() { alert(value); };
566
566
}
567
567
568
-
// 3 functions in array, every of them links to LexicalEnvrironment
568
+
// 3 functions in array, every of them links to Lexical Environment
0 commit comments