Skip to content

Commit b608f15

Browse files
committed
Merge branch 'master' of https://github.com/BonsaiDen/JavaScript-Garden into slovak-translation
2 parents bb876ab + a84ea51 commit b608f15

File tree

30 files changed

+204
-182
lines changed

30 files changed

+204
-182
lines changed

CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Contributing to Javascript Garden
2+
3+
1. We're about Javascript AKA [ECMA script](http://www.ecma-international.org/ecma-262/5.1/) not a specific implementation. So we don't cover issues specific to one environment or interpreter, like browsers or V8 for node.
4+
1. Micro-performance is out of scope: anything that's not a result of essential algorithmic complexity (e.g O(log n) vs O(n^2)) is down to a specific version of a specific interpreter (see 1).
5+
1. Please test code examples to ensure they work, there's nothing more confusing than incorrect examples!
6+
1. Contributing to JS Garden makes you a fantastic person, and Brendan Eich will find you immensely attractive.
7+
8+
Thank you for being kind enough to help out!

doc/en/core/delete.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Explicitly set properties can be deleted normally.
3939
obj.y; // undefined
4040

4141
In the example above, `obj.x` and `obj.y` can be deleted because they have no
42-
`DontDelete` atribute. That's why the example below works too.
42+
`DontDelete` attribute. That's why the example below works too.
4343

4444
// this works fine, except for IE:
4545
var GLOBAL_OBJECT = this;

doc/en/function/closures.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ above.
9797
}
9898

9999
There's yet another way to accomplish this by using `.bind`, which can bind
100-
a `this` context and arguments to function. It behaves identially to the code
100+
a `this` context and arguments to function. It behaves identically to the code
101101
above
102102

103103
for(var i = 0; i < 10; i++) {

doc/en/function/constructors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ explicitly return a value.
7272
new Bar();
7373
Bar();
7474

75-
Both calls to `Bar` return the same thing, a newly create object that
75+
Both calls to `Bar` return the same thing, a newly created object that
7676
has a property called `method`, which is a
7777
[Closure](#function.closures).
7878

doc/en/other/timeouts.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
Since JavaScript is asynchronous, it is possible to schedule the execution of a
44
function using the `setTimeout` and `setInterval` functions.
55

6-
> **Note:** Timeouts are **not** part of the ECMAScript Standard. They are
7-
> implemented as part of the [DOM][1].
6+
> **Note:** Timeouts are **not** part of the ECMAScript standard. They were
7+
> implemented in [BOM, or DOM Level 0][1], which are never defined nor
8+
> documented formally. No recommended specification has been published so far,
9+
> however, they are currently being standardized by [HTML5][2]. Due to this
10+
> nature, the implementation may vary from browsers and engines.
811
912
function foo() {}
1013
var id = setTimeout(foo, 1000); // returns a Number > 0
@@ -52,7 +55,7 @@ intervals, result in function calls stacking up.
5255
function foo(){
5356
// something that blocks for 1 second
5457
}
55-
setInterval(foo, 1000);
58+
setInterval(foo, 100);
5659

5760
In the above code, `foo` will get called once and will then block for one second.
5861

@@ -67,7 +70,7 @@ the function itself.
6770

6871
function foo(){
6972
// something that blocks for 1 second
70-
setTimeout(foo, 1000);
73+
setTimeout(foo, 100);
7174
}
7275
foo();
7376

@@ -115,8 +118,7 @@ specifically.
115118
`setTimeout` and `setInterval` can also take a string as their first parameter.
116119
This feature should **never** be used because it internally makes use of `eval`.
117120

118-
> **Note:** Since the timeout functions are **not** specified by the ECMAScript
119-
> standard, the exact workings when a string is passed to them might differ in
121+
> **Note:** The exact workings when a string is passed to them might differ in
120122
> various JavaScript implementations. For example, Microsoft's JScript uses
121123
> the `Function` constructor in place of `eval`.
122124
@@ -146,12 +148,14 @@ function that will get called by either of the timeout functions.
146148

147149
// Instead use an anonymous function
148150
setTimeout(function() {
149-
foo(a, b, c);
151+
foo(1, 2, 3);
150152
}, 1000)
151153

152-
> **Note:** While it is also possible to use the syntax
153-
> `setTimeout(foo, 1000, a, b, c)`, it is not recommended, as its use may lead
154-
> to subtle errors when used with [methods](#function.this).
154+
> **Note:** While it is also possible to use `setTimeout(foo, 1000, 1, 2, 3)`
155+
> syntax, it is not recommended, as its use may lead
156+
> to subtle errors when used with [methods](#function.this).
157+
> Furthermore, the syntax might not work in some JavaScript implementations.
158+
> For example, Microsoft's Internet Explorer [does **not** pass the arguments directly to the callback](3).
155159
156160
### In Conclusion
157161

@@ -163,5 +167,6 @@ be passed that then takes care of the actual call.
163167
Furthermore, the use of `setInterval` should be avoided because its scheduler is not
164168
blocked by executing JavaScript.
165169

166-
[1]: http://en.wikipedia.org/wiki/Document_Object_Model "Document Object Model"
167-
170+
[1]: http://www.nczonline.net/blog/2009/09/29/web-definitions-dom-ajax-and-more/ "Web definitions: DOM, Ajax, and more"
171+
[2]: http://www.w3.org/TR/2014/WD-html5-20140617/webappapis.html#timers "6 Web application APIs - HTML5"
172+
[3]: http://msdn.microsoft.com/en-us/library/ie/ms536753(v=vs.85).aspx "setTimeout method (Internet Explorer)"

doc/es/other/timeouts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,11 @@ function that will get called by either of the timeout functions.
134134

135135
// Instead use an anonymous function
136136
setTimeout(function() {
137-
foo(a, b, c);
137+
foo(1, 2, 3);
138138
}, 1000)
139139

140140
> **Note:** While it is also possible to use the syntax
141-
> `setTimeout(foo, 1000, a, b, c)`, it is not recommended, as its use may lead
141+
> `setTimeout(foo, 1000, 1, 2, 3)`, it is not recommended, as its use may lead
142142
> to subtle errors when used with [methods](#function.this).
143143
144144
### In Conclusion

doc/fi/other/timeouts.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Mikäli suoritettava koodi blokkaa katkaisufunktion kutsun, `setInterval` lisä
3434
function foo(){
3535
// jotain joka blokkaa sekunnin ajaksi
3636
}
37-
setInterval(foo, 1000);
37+
setInterval(foo, 100);
3838

3939
Yllä olevassa koodissa `foo`-funktiota kutsutaan, jonka jälleen se blokkaa sekunnin ajan.
4040

@@ -46,7 +46,7 @@ Helpoin ja joustavin tapa on käyttää `setTimeout`-funktiota funktiossa itsess
4646

4747
function foo(){
4848
// jotain joka blokkaa sekunnin ajaksi
49-
setTimeout(foo, 1000);
49+
setTimeout(foo, 100);
5050
}
5151
foo();
5252

@@ -99,10 +99,10 @@ Tämän lisäksi on suositeltavaa olla **käyttämättä** merkkijonoja parametr
9999

100100
// Käytä nimetöntä funktiota sen sijaan
101101
setTimeout(function() {
102-
foo(a, b, c);
102+
foo(1, 2, 3);
103103
}, 1000)
104104

105-
> **Huomio:** Vaikka syntaksi `setTimeout(foo, 1000, a, b, c)` onkin mahdollinen, ei sen käyttöä suositella. Tämä johtuu siitä, että sen käyttö voi johtaa virheisiin erityisesti [metodien](#function.this) kanssa.
105+
> **Huomio:** Vaikka syntaksi `setTimeout(foo, 1000, 1, 2, 3)` onkin mahdollinen, ei sen käyttöä suositella. Tämä johtuu siitä, että sen käyttö voi johtaa virheisiin erityisesti [metodien](#function.this) kanssa.
106106
107107
### Yhteenveto
108108

doc/hu/other/timeouts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,10 @@ a timeout függvények által meg lesz hívva a későbbiekben.
146146

147147
// Ehelyett csomagoljuk névtelen függvénybe
148148
setTimeout(function() {
149-
foo(a, b, c);
149+
foo(1, 2, 3);
150150
}, 1000)
151151

152-
> **Megjegyzés:** Habár lehetséges a `setTimeout(foo, 1000, a, b, c)` szintaxist
152+
> **Megjegyzés:** Habár lehetséges a `setTimeout(foo, 1000, 1, 2, 3)` szintaxist
153153
> használni, mégsem ajánlott, mivel [metódusok](#function.this) használatakor
154154
> észrevehetetlen hibákhoz vezethet.
155155

doc/it/other/timeouts.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ con intervalli molto brevi, tradursi in chiamate a funzione che si sovrappongono
5252
function foo(){
5353
// qualcosa che blocca per 1 secondo
5454
}
55-
setInterval(foo, 1000);
55+
setInterval(foo, 100);
5656

5757
Nel codice precedente, `foo` verrà chiamato una volta e quindi bloccherà per
5858
un secondo.
@@ -68,7 +68,7 @@ La soluzione più semplice, come anche la più controllabile, è quella di usare
6868

6969
function foo(){
7070
// qualcosa che blocca per 1 secondo
71-
setTimeout(foo, 1000);
71+
setTimeout(foo, 100);
7272
}
7373
foo();
7474

@@ -150,11 +150,11 @@ funzione che verrà chiamata da una delle funzioni di timeout.
150150

151151
// Usare invece una funzione anonima
152152
setTimeout(function() {
153-
foo(a, b, c);
153+
foo(1, 2, 3);
154154
}, 1000)
155155

156156
> **Nota:** mentre è ancora possibile usare la sintassi
157-
> `setTimeout(foo, 1000, a, b, c)`, non la si raccomanda, dato che il suo
157+
> `setTimeout(foo, 1000, 1, 2, 3)`, non la si raccomanda, dato che il suo
158158
> utilizzo potrebbe portare ad errori subdoli quando usata con i
159159
> [metodi](#function.this).
160160

doc/ja/other/timeouts.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ JavaScriptは非同期なので、`setTimeout`と`setInterval`関数を使って
4040
function foo(){
4141
// 1秒おきにブロックの何かを実行
4242
}
43-
setInterval(foo, 1000);
43+
setInterval(foo, 100);
4444

4545
上記のコードでは、`foo`が1回呼び出されて、1秒ブロックされます。
4646

@@ -52,7 +52,7 @@ JavaScriptは非同期なので、`setTimeout`と`setInterval`関数を使って
5252

5353
function foo(){
5454
// 1秒ブロックする何か
55-
setTimeout(foo, 1000);
55+
setTimeout(foo, 100);
5656
}
5757
foo();
5858

@@ -108,10 +108,10 @@ JavaScriptは非同期なので、`setTimeout`と`setInterval`関数を使って
108108

109109
// 匿名関数を代わりに使用する
110110
setTimeout(function() {
111-
foo(a, b, c);
111+
foo(1, 2, 3);
112112
}, 1000)
113113

114-
> **注意点:** `setTimeout(foo, 1000, a, b, c)`のようなシンタックスを使用する事も
114+
> **注意点:** `setTimeout(foo, 1000, 1, 2, 3)`のようなシンタックスを使用する事も
115115
> できますが、[メソッド](#function.this)を使用した際に、分かりにくいエラーが起りえるので
116116
> 使用はお勧めしません。
117117

doc/ko/other/timeouts.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ JS엔진은 타이머에 설정한 시간(timer resolution)에 따라서 코드
3434
function foo(){
3535
// 1초 동안 블럭함.
3636
}
37-
setInterval(foo, 1000);
37+
setInterval(foo, 100);
3838

3939
위 코드에서 `foo`함수는 호출될 때마다 1초씩 실행을 지연시킨다.
4040

@@ -47,7 +47,7 @@ JS엔진은 타이머에 설정한 시간(timer resolution)에 따라서 코드
4747

4848
function foo(){
4949
// something that blocks for 1 second
50-
setTimeout(foo, 1000);
50+
setTimeout(foo, 100);
5151
}
5252
foo();
5353

@@ -109,10 +109,10 @@ JS엔진은 타이머에 설정한 시간(timer resolution)에 따라서 코드
109109

110110
// 대신 익명 함수를 사용하는 게 좋다.
111111
setTimeout(function() {
112-
foo(a, b, c);
112+
foo(1, 2, 3);
113113
}, 1000)
114114

115-
> **Note:** `setTimeout(foo, 1000, a, b, c)`처럼 사용하는 것도 가능하지만, 이것도 권장하지 않는다. [메소드](#function.this)를 사용할 때 잡아내기 어려운 에러가 날 수 있다.
115+
> **Note:** `setTimeout(foo, 1000, 1, 2, 3)`처럼 사용하는 것도 가능하지만, 이것도 권장하지 않는다. [메소드](#function.this)를 사용할 때 잡아내기 어려운 에러가 날 수 있다.
116116
117117
### 결론
118118

doc/pl/other/timeouts.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ szczególnie przy krótkim interwale.
5353
function foo(){
5454
// coś co blokuje wykonanie na 1 sekundę
5555
}
56-
setInterval(foo, 1000);
56+
setInterval(foo, 100);
5757

5858
W powyższym kodzie kod `foo` zostanie wywołany tylko raz i zablokuje wywołanie na
5959
jedną sekundę.
@@ -69,7 +69,7 @@ wewnątrz wywoływanej funkcji.
6969

7070
function foo(){
7171
// coś co blokuje wykonanie na 1 sekundę
72-
setTimeout(foo, 1000);
72+
setTimeout(foo, 100);
7373
}
7474
foo();
7575

@@ -137,11 +137,11 @@ do funkcji, która ma zostać wywołana przez budzik.
137137

138138
// zamiast tego należy skorzystać z anonimowej funkcji
139139
setTimeout(function() {
140-
foo(a, b, c);
140+
foo(1, 2, 3);
141141
}, 1000)
142142

143143
>**Uwaga:** Mimo że możliwe jest wykorzystanie składni
144-
> `setTimeout(foo, 1000, a, b, c)`, nie zaleca się korzystania z niej, ponieważ
144+
> `setTimeout(foo, 1000, 1, 2, 3)`, nie zaleca się korzystania z niej, ponieważ
145145
> może to prowadzić do subtelnych błędów podczas wykorzystania [metod](#function.this).
146146
147147
### Wnioski

doc/ru/appendix/fromtranslators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
С другой стороны, [использование `var`](#function.scopes) и грамотная [расстановка точек с запятой](#core.semicolon) — обязательные вещи, халатное отношение к которым никак не может быть оправдано — в осознанном пропуске `var` (если только вы не переопределяете глобальный объект браузера... хотя *зачем*?) или точки с запятой нет никакого смысла.
1010

11-
Относитесь с **мудростью** к тому, что вы пишете — *важно* знать как работает именно ваш код и как это соответствует приведённым в статье тезисам — и уже из этого вы сможете делать вывод, подходит ли вам тот или иной подход или нет. *Важно* знать как работает [прототипное наследование](#object.prototype), но это не так необходимо, если вы используете функциональный подход или пользуетесь какой-либо сторонней библиотекой. Важно помнить о том, что у вас недостаёт какого-либо конкретного знания и что пробел следует заполнить, но если вы не используете в работе эту часть, вы всё равно можете писать хороший код — ну, если у вас есть талант.
11+
Относитесь с **мудростью** к тому, что вы пишете — *важно* знать, как работает именно ваш код и как это соответствует приведённым в статье тезисам — и уже из этого вы сможете делать вывод, подходит ли вам тот или иной подход или нет. *Важно* знать, как работает [прототипное наследование](#object.prototype), но это не так необходимо, если вы используете функциональный подход или пользуетесь какой-либо сторонней библиотекой. Важно помнить о том, что у вас недостаёт какого-либо конкретного знания и что пробел следует заполнить, но если вы не используете в работе эту часть, вы всё равно можете писать хороший код — ну, если у вас есть талант.
1212

13-
Гонка за оптимизацией — это драматично и правильно, но лучше написать работающий и понятный вам код, а потом уже его оптимизировать и искать узкие места, при необходимости. Оптимизацию необходимо делать, если вы видите явные неудобства для пользователя в тех или иных браузерах или у вас есть супер-крупный проект, которым никогда не мешает оптимизация, или вы работаете с какой-либо сверхтребовательной технологией типа WebGL. Данная документация очень поможет вам в определении этих узких мест.
13+
Гонка за оптимизацией — это драматично и правильно, но лучше написать работающий и понятный вам код, а потом уже его оптимизировать и искать узкие места при необходимости. Оптимизацию необходимо делать, если вы видите явные неудобства для пользователя в тех или иных браузерах, или у вас один из тех супер-крупных проектов, которым никогда не помешает оптимизация, или вы работаете с какой-либо сверхтребовательной технологией типа WebGL. Данная документация очень поможет вам в определении этих узких мест.
1414

doc/ru/core/eval.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131

3232
### Проблемы с безопасностью
3333

34-
Кроме всего прочего, функция `eval` — это проблема в безопасности, поскольку исполняется **любой** переданный в неё код; **никогда** не следует использовать её со строками из неизвестных или недоверительных источников.
34+
Кроме всего прочего, функция `eval` — это проблема в безопасности, поскольку исполняется **любой** переданный в неё код; **никогда** не следует использовать её со строками из неизвестных или недоверенных источников.
3535

3636
### Заключение
3737

38-
Никогда не стоит использовать `eval`: любое применение такого кода поднимает вопросы о качестве его работы, производительности и безопасности. Если вдруг для работы вам необходим `eval`, эта часть должна тут же ставиться под сомнение и **не** должна использоваться в первую очередь — необходимо найти *лучший способ* , которому не требуются вызовы `eval`.
38+
Никогда не стоит использовать `eval`: любое применение такого кода поднимает вопросы о качестве его работы, производительности и безопасности. Если вдруг для работы вам необходима `eval`, эта часть должна тут же ставиться под сомнение и **не** должна использоваться в первую очередь — необходимо найти *лучший способ*, которому не требуются вызовы `eval`.
3939

doc/ru/function/this.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
Когда мы используем методы `call` или `apply` из `Function.prototype`, то внутри вызываемой функции `this` **явным образом** будет присвоено значение первого передаваемого параметра.
4040

41-
Исходя из этого, в предыдущем примере (строка с `apply`) правило #3 *вызов метода* **не** будет применёно, и `this` внутри `foo` будет присвоено `bar`.
41+
Исходя из этого, в предыдущем примере (строка с `apply`) правило #3 *вызов метода* **не** будет применено, и `this` внутри `foo` будет присвоено `bar`.
4242

4343
> **Замечание:** `this` **нельзя** использовать внутри литералов `{}` (`Object`) для ссылки на сам объект. Т.е. если мы напишем `var obj = {me: this}`, то `me` не будет ссылаться на `obj`, поскольку `this` присваивается только по одному из пяти описанных правил.
4444

0 commit comments

Comments
 (0)