Skip to content

Commit 087c67e

Browse files
Merge branch 'master' into master
2 parents 33f1edb + 971d85d commit 087c67e

File tree

88 files changed

+467
-295
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+467
-295
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Die Fähigkeiten von JavaScript im Browser sind aus Gründen der Sicherheit des
6363

6464
Beispiele für solche Beschränkungen sind:
6565

66-
- JavaScript auf einer Webebsite darf keine Dateien auf dem Speichermedium lesen, schreiben oder kopieren. Zudem darf es keine Programme ausführen. Es hat keinen direkten Zugriff auf die Funktionen des Betriebsystems.
66+
- JavaScript auf einer Webseite darf keine beliebigen Dateien auf der Festplatte lesen/schreiben, sie kopieren oder Programme ausführen. Es hat keinen direkten Zugriff auf die Funktionen des Betriebssystems.
6767

6868
Moderne Browsers erlauben es mit Dateien zu arbeiten. Der Zugriff ist jedoch beschränkt und nur möglich wenn der Benutzer bestimmte Aktionen ausführt, z.B. die Datei in den Browser per "drag and drop" lädt oder sie via `<input>` tag auswählt.
6969

@@ -73,7 +73,7 @@ Beispiele für solche Beschränkungen sind:
7373
Dies wird die "Same Origin Policy" genannt. Um das zu umgehen, müssen *beide Seiten* für den Datenaustausch übereinstimmen und einen speziellen JavaScript-Code enthalten, der dies behandelt. Wir werden das im Tutorial behandeln.
7474

7575
Auch diese Einschränkung dient der Sicherheit des Benutzers. Eine Seite von `http://anysite.com`, die ein Benutzer geöffnet hat, darf nicht in der Lage sein, auf einen anderen Browser-Tab mit der URL `http://gmail.com` zuzugreifen und Informationen von dort zu stehlen.
76-
- JavaScript kann leicht über das Netz mit dem Server kommunizieren, von dem die aktuelle Seite stammt. Aber seine Fähigkeit, Daten von anderen Seiten/Domains zu empfangen, ist eingeschränkt.
76+
- JavaScript kann leicht über das Netz mit dem Server kommunizieren, von dem die aktuelle Seite stammt. Aber seine Fähigkeit, Daten von anderen Seiten/Domains zu empfangen, ist eingeschränkt.
7777
Obwohl es möglich ist, erfordert es eine ausdrückliche Zustimmung (ausgedrückt in HTTP-Headern) von der entfernten Seite. Auch dies ist eine Sicherheitseinschränkung.
7878

7979
![](limitations.svg)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<body>
5+
6+
<script>
7+
alert( "I'm JavaScript!" );
8+
</script>
9+
10+
</body>
11+
12+
</html>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
[html src="index.html"]

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Der `<script>`-Tag beinhaltet JavaScript-Code, welcher automatisch ausgeführt w
4646
Der `<script>`-Tag hat einige Attribute die heutzutage nur selten Verwendung finden, aber noch immer in alten Code vorhanden sind:
4747

4848
Das `type`-Attribute: <code>&lt;script <u>type</u>=...&gt;</code>
49-
: Der alte HTML-Standard, HTML4, setzte bei einem Skript den `Typ` voraus. Üblicherweise war es `type="text/javascript"`. Dies wird nicht länger benötigt. Zudem, der moderne HTML-Standard hat die Bedeutung des Attributs völlig verändert. Jetzt kann es für JavaScript-Module verwendet werden. Aber dies ist ein weiterführendes Thema; wir werden über Module in einem anderen Teil des Tutorials sprechen.
49+
: Der alte HTML-Standard, HTML4, setzte bei einem Skript den `Typ` voraus. Üblicherweise war es `type="text/javascript"`. Dies wird nicht länger benötigt. Zudem, der moderne HTML-Standard hat die Bedeutung des Attributs völlig verändert. Jetzt kann es für JavaScript-Module verwendet werden. Aber dies ist ein weiterführendes Thema, wir werden über Module in einem anderen Teil des Tutorials sprechen.
5050

5151
Das `language`-Attribute: <code>&lt;script <u>language</u>=...&gt;</code>
5252
: Dieses Attribute war gedacht, um die Sprache des Skripts anzuzeigen. Dieses Attribute macht nicht länger Sinn, weil JavaScript die Standard-Sprache ist. Es gibt keinen Grund es zu nutzen.

1-js/02-first-steps/02-structure/article.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Aber es sollten zwei getrennte Anweisungen sein, nicht eine. Eine solche Verschm
9494

9595
Es wird empfohlen, Semikolons zwischen Anweisungen zu setzen, auch wenn diese durch Zeilenumbrüche getrennt sind. Diese Regel wird von der Community weitgehend übernommen. Lass uns noch einmal festhalten -- es ist möglich, Semikolons die meiste Zeit wegzulassen. Aber es ist sicherer -- besonders für Anfänger -- sie zu benutzen.
9696

97-
## Kommentare
97+
## Kommentare [#code-comments]
9898

9999
Mit der Zeit werden Programme immer komplexer. Es müssen *Kommentare* hinzugefügt werden, die beschreiben, was der Code macht und warum.
100100

@@ -135,8 +135,13 @@ alert('Hallo');
135135
alert('Welt');
136136
```
137137

138+
<<<<<<< HEAD
138139
```smart header="Benutze Tastenkombination!"
139-
In den meisten Editoren kannst du eine Codezeile auskommentieren, indem du die Tastenkombination `key:Strg+/` für einen einzeiligen Kommentar und die Tastenkombination `key:Strg+Umschalt+/` für mehrzeilige Kommentare drückst (wähle ein Stück Code aus und drücke die Tastenkombination). Versuche bei einem Mac "key:Cmd" anstelle von "key:Strg".
140+
In den meisten Editoren kannst du eine Codezeile auskommentieren, indem du die Tastenkombination `key:Strg+/` für einen einzeiligen Kommentar und die Tastenkombination `key:Strg+Umschalt+/` für mehrzeilige Kommentare drückst (wähle ein Stück Code aus und drücke die Tastenkombination). Für Mac versuche "key:Cmd" anstelle von "key:Strg" und `key:Option` statt `key:Umschalt`.
141+
=======
142+
```smart header="Use hotkeys!"
143+
In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl` and `key:Option` instead of `key:Shift`.
144+
>>>>>>> 23ffde780605b3418101850a61d9496c3d7f927c
140145
```
141146

142147
````warn header="Verschachtelte Kommentare werden nicht unterstützt!"

1-js/02-first-steps/07-operators/article.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,17 +138,17 @@ Here's an extract from the [precedence table](https://developer.mozilla.org/en/J
138138
| Precedence | Name | Sign |
139139
|------------|------|------|
140140
| ... | ... | ... |
141-
| 16 | unary plus | `+` |
142-
| 16 | unary negation | `-` |
143-
| 14 | multiplication | `*` |
144-
| 14 | division | `/` |
141+
| 17 | unary plus | `+` |
142+
| 17 | unary negation | `-` |
143+
| 15 | multiplication | `*` |
144+
| 15 | division | `/` |
145145
| 13 | addition | `+` |
146146
| 13 | subtraction | `-` |
147147
| ... | ... | ... |
148148
| 3 | assignment | `=` |
149149
| ... | ... | ... |
150150

151-
As we can see, the "unary plus" has a priority of `16` which is higher than the `13` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
151+
As we can see, the "unary plus" has a priority of `17` which is higher than the `13` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
152152
153153
## Assignment
154154

1-js/02-first-steps/13-switch/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Several variants of `case` which share the same code can be grouped.
117117
For example, if we want the same code to run for `case 3` and `case 5`:
118118
119119
```js run no-beautify
120-
let a = 2 + 2;
120+
let a = 3;
121121
122122
switch (a) {
123123
case 4:

1-js/02-first-steps/16-arrow-functions-basics/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ let welcome = (age < 18) ?
6767
() => alert('Hello') :
6868
() => alert("Greetings!");
6969
70-
welcome(); // ok now
70+
welcome();
7171
```
7272

7373
Arrow functions may appear unfamiliar and not very readable at first, but that quickly changes as the eyes get used to the structure.

1-js/02-first-steps/17-javascript-specials/article.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,10 @@ let x = 5;
8181
x = "John";
8282
```
8383

84-
There are 7 data types:
84+
There are 8 data types:
8585

8686
- `number` for both floating-point and integer numbers,
87+
- `bigint` for integer numbers of arbitrary length,
8788
- `string` for strings,
8889
- `boolean` for logical values: `true/false`,
8990
- `null` -- a type with a single value `null`, meaning "empty" or "does not exist",

1-js/03-code-quality/03-comments/article.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -125,25 +125,25 @@ Describe the architecture
125125
Document function parameters and usage
126126
: There's a special syntax [JSDoc](http://en.wikipedia.org/wiki/JSDoc) to document a function: usage, parameters, returned value.
127127

128-
For instance:
129-
```js
130-
/**
131-
* Returns x raised to the n-th power.
132-
*
133-
* @param {number} x The number to raise.
134-
* @param {number} n The power, must be a natural number.
135-
* @return {number} x raised to the n-th power.
136-
*/
137-
function pow(x, n) {
138-
...
139-
}
140-
```
128+
For instance:
129+
```js
130+
/**
131+
* Returns x raised to the n-th power.
132+
*
133+
* @param {number} x The number to raise.
134+
* @param {number} n The power, must be a natural number.
135+
* @return {number} x raised to the n-th power.
136+
*/
137+
function pow(x, n) {
138+
...
139+
}
140+
```
141141

142-
Such comments allow us to understand the purpose of the function and use it the right way without looking in its code.
142+
Such comments allow us to understand the purpose of the function and use it the right way without looking in its code.
143143

144-
By the way, many editors like [WebStorm](https://www.jetbrains.com/webstorm/) can understand them as well and use them to provide autocomplete and some automatic code-checking.
144+
By the way, many editors like [WebStorm](https://www.jetbrains.com/webstorm/) can understand them as well and use them to provide autocomplete and some automatic code-checking.
145145

146-
Also, there are tools like [JSDoc 3](https://github.com/jsdoc3/jsdoc) that can generate HTML-documentation from the comments. You can read more information about JSDoc at <http://usejsdoc.org/>.
146+
Also, there are tools like [JSDoc 3](https://github.com/jsdoc3/jsdoc) that can generate HTML-documentation from the comments. You can read more information about JSDoc at <http://usejsdoc.org/>.
147147

148148
Why is the task solved this way?
149149
: What's written is important. But what's *not* written may be even more important to understand what's going on. Why is the task solved exactly this way? The code gives no answer.

0 commit comments

Comments
 (0)