Skip to content

Commit

Permalink
Translate scope into Icelandic
Browse files Browse the repository at this point in the history
  • Loading branch information
Gudmundur Mar Gunnarsson committed Jun 1, 2016
1 parent 9185617 commit 39c6e3f
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 2 deletions.
73 changes: 72 additions & 1 deletion problems/scope/problem_is.md
Original file line number Diff line number Diff line change
@@ -1 +1,72 @@
`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 `` `
`Gildissvið` ***(Scope)*** er samansafn af breytum ***(variables)***, hlutum ***(objects)***, og föllum ***(functions)*** sem þú hefur aðgang að.

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.

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)***.

Skoðaðu vel athugasemdirnar í kóðanum hér fyrir neðan:

```js
var a = 4; // a er víðvær breyta. Hún er aðgengileg úr föllunum hér fyrir neðan

function foo() {
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
// föllum skilgreindum innan foo
function bar(c) {
var b = 2; // Hér er önnur `b` breyta er skilgreind innan gildissviðs bar fallsins
// Breytingarnar á þessari nýju breytu `b` hafa ekki áhrif á gömlu `b` breytuna
console.log( a, b, c );
}

bar(b * 4);
}

foo(); // 4, 2, 48
```
IIFE, Immediately Invoked Function Expression, er algengt mynstur þegar skapaðar eru staðbundin gildissvið, dæmi:
```js
(function(){ // Function segðin (expression) er umvafin hornklofum.
// Breytur sem eru skilgreindar hér
// er ekki hægt að nálgast utan frá.
})(); // () gerir að verkum að fallið er keyrt samstundis
```

## Verkefnið:

Búðu til skrá sem heitir `scope.js`.

Í þeirri skrá skaltu afrita eftirfarandi kóða:

```js
var a = 1, b = 2, c = 3;

(function firstFunction(){
var b = 5, c = 6;

(function secondFunction(){
var b = 8;

(function thirdFunction(){
var a = 7, c = 9;

(function fourthFunction(){
var a = 1, c = 8;

})();
})();
})();
})();
```

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`

```js
console.log("a: "+a+", b: "+b+", c: "+c);
```

Athugaðu hvort forritið sé rétt með því að keyra eftirfarandi skipun:

```bash
javascripting verify scope.js
```

10 changes: 9 additions & 1 deletion problems/scope/solution_is.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
--- #EXCELLENT! Þú fékkst það! Annað fall hefur svigrúm við vorum að leita að. Hlaupa javascripting í vélinni til að velja næsta áskorun. ---
---

#FRÁBÆRT!

Þú náðir því! Annað fallið geymir gildissviðið sem við vorum að fiska eftir.

Keyrðu javascripting í stjórnstöðinni (console) til að velja næstu áskorun.

---

0 comments on commit 39c6e3f

Please sign in to comment.