Skip to content

Commit 3f9fd17

Browse files
author
Gudmundur Mar Gunnarsson
committed
Translate scope into Icelandic
1 parent 9185617 commit 3f9fd17

File tree

2 files changed

+81
-2
lines changed

2 files changed

+81
-2
lines changed

problems/scope/problem_is.md

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,72 @@
1-
`Scope` er sett af breytum, hlutir, og aðgerðir sem þú hefur aðgang að. JavaScript er með tvö mælar: `global` og` local`. Breyta sem er lýst utan skilgreiningu fall er `global` breyta, og gildi þess er aðgengileg og modifiable um program. Breyta sem er lýst inni skilgreiningu fall er `local`. Það er búið og eytt í hvert skipti sem virka er keyrð, og það er ekki hægt að nálgast með því hvaða kóða utan virka. Aðgerðir skilgreindar inni aðrar aðgerðir, þekktur sem hreiður virka, hafa aðgang að umfang móðurfélags hlutverk þeirra er. Borga eftirtekt til the athugasemd í kóðanum hér fyrir neðan: `` `JS Var a = 4; // A er a global breyta, það er hægt að nálgast með því að virka fyrir neðan virka foo () {var b = a * 3; // B er ekki hægt að nálgast utan foo virka, en hægt er að nálgast með því að virka // skilgreint inni foo virka bar (c) {var b = 2; // Annar `b` breyta er búin inni umfangi Bar virka // breytingar á þessari nýju` b` breytu hefur ekki áhrif á gamla `b` breytilegum console.log (a, b, c); } Bar (b * 4); } Foo (); // 4, 2, 48 `` `IIFE, Strax skírskotað Virka Expression, er algengt mynstur til að skapa staðbundna mælar dæmi:` `` JS (virka () {// virka tjáning er umkringdur sviga // breytur skilgreindar hér // ekki er hægt að nálgast utan}) (); // Virka strax skírskotað `` `## Áskorunin: Búa til skrá sem heitir` scope.js`. Í þeirri skrá, afrita eftirfarandi kóða: `` `JS VAR a = 1, b = 2, C = 3; (Virka firstFunction () {var b = 5, c = 6; (virka secondFunction () {var b = 8; (virka thirdFunction () {var a = 7, c = 9; (virka fourthFunction () {var a = 1, c = 8;}) ();}) ();}) ();}) (); `` `Notaðu þekkingu þína á breytum '` scope` og setja eftirfarandi kóða inni einn af störfum í `scope.js` þannig að framleiðsla er` a: 1, b: 8, c: 6` `` `js console.log ( "a:" + a + ", b:" + b + ", c:" + c); `` `Athugaðu að sjá hvort forritið sé rétt með því að keyra þessa skipun:` `` bash javascripting staðfesta scope.js `` `
1+
`Gildissvið` ***(Scope)*** er samansafna af breytum ***(variables)***, hlutum ***(objects)***, og föllum ***(functions)*** sem þú hefur aðgang að.
2+
3+
Javascript hefur tvö gilissvið: `víðvært` ***(global)*** og `staðvært` ***(local)***. Breyta sem er skilgreind ***(declared)*** utan falls er `víðvær` breyta, og gildi þess er aðgengilegt og breytanlegt í öllu forritinu þínu. Breyta sem er skilgreind inni í falli er `staðvær`. Hún er búin til og henni eytt í hvert skipti sem fall er keyrt og ekki hægt að nálgast hana úr kóða utan fallsins.
4+
5+
Föll skilgreind inni í öðrum föllum eru þekkt sem földuð föll ***(nested functions)*** og hafa aðgang að gildisviði ytra fallsins ***(parent function's scope)***.
6+
7+
Skoðaðu vel athugasemdirnar í kóðanum hér fyrir neðan:
8+
9+
```js
10+
var a = 4; // a er víðvær breyta. Hún er aðgengileg úr föllunum hér fyrir neðan
11+
12+
function foo() {
13+
var b = a * 3; // b er ekki hægt að nálgast fyrir utan foo fallið en hægt er að nálgast b úr
14+
// föllum skilgreindum innan foo
15+
function bar(c) {
16+
var b = 2; // Hér er önnur `b` breyta er skilgreind innan gildissviðs bar fallsins
17+
// Breytingarnar á þessari nýju breytu `b` hafa ekki áhrif á gömlu `b` breytuna
18+
console.log( a, b, c );
19+
}
20+
21+
bar(b * 4);
22+
}
23+
24+
foo(); // 4, 2, 48
25+
```
26+
IIFE, Immediately Invoked Function Expression, er algengt mynstur þegar skapaðar eru staðbundin gildissvið, dæmi:
27+
```js
28+
(function(){ // Function segðin (expression) er umvafin hornklofum.
29+
// Breytur sem eru skilgreindar hér
30+
// er ekki hægt að nálgast utan frá.
31+
})(); // () gerir að verkum að fallið er keyrt samstundis
32+
```
33+
34+
## Verkefnið:
35+
36+
Búðu til skrá sem heitir `scope.js`.
37+
38+
Í þeirri skrá skaltu afrita eftirfarandi kóða:
39+
40+
```js
41+
var a = 1, b = 2, c = 3;
42+
43+
(function firstFunction(){
44+
var b = 5, c = 6;
45+
46+
(function secondFunction(){
47+
var b = 8;
48+
49+
(function thirdFunction(){
50+
var a = 7, c = 9;
51+
52+
(function fourthFunction(){
53+
var a = 1, c = 8;
54+
55+
})();
56+
})();
57+
})();
58+
})();
59+
```
60+
61+
Notaðu þekkingu þína á breytum `gildissviðsins` og settu eftirfarandi kóða inn í eitt af föllunum í `scope.js` þannig að úttakið verði `a: 1, b: 8, c: 6`
62+
63+
```js
64+
console.log("a: "+a+", b: "+b+", c: "+c);
65+
```
66+
67+
Athugaðu hvort forritið sé rétt með því að keyra eftirfarandi skipun:
68+
69+
```bash
70+
javascripting verify scope.js
71+
```
72+

problems/scope/solution_is.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
--- #EXCELLENT! Þú fékkst það! Annað fall hefur svigrúm við vorum að leita að. Hlaupa javascripting í vélinni til að velja næsta áskorun. ---
1+
---
2+
3+
#FRÁBÆRT!
4+
5+
Þú náðir því! Annað fallið geymir gildissviðið sem við vorum að fiska eftir.
6+
7+
Keyrðu javascripting í stjórnstöðinni (console) til að velja næstu áskorun.
8+
9+
---

0 commit comments

Comments
 (0)