File tree Expand file tree Collapse file tree 5 files changed +9
-9
lines changed Expand file tree Collapse file tree 5 files changed +9
-9
lines changed Original file line number Diff line number Diff line change 13
13
/site /ko
14
14
/site /ja
15
15
/site /es
16
+ /site /hu
16
17
/site /zhtw
17
18
/site /it
18
19
/site /hu
Original file line number Diff line number Diff line change @@ -22,13 +22,13 @@ JavaScript 中每个函数内都能访问一个特别变量 `arguments`。这个
22
22
23
23
###传递参数
24
24
25
- 下面将参数从一个函数传递到另一个函数,是推荐的做法 。
25
+ 下面是将参数从一个函数传递到另一个函数的推荐做法 。
26
26
27
27
function foo() {
28
28
bar.apply(null, arguments);
29
29
}
30
30
function bar(a, b, c) {
31
- // do stuff here
31
+ // 干活
32
32
}
33
33
34
34
另一个技巧是同时使用 ` call ` 和 ` apply ` ,创建一个快速的解绑定包装器。
@@ -39,7 +39,7 @@ JavaScript 中每个函数内都能访问一个特别变量 `arguments`。这个
39
39
console.log(this, a, b, c);
40
40
};
41
41
42
- // Create an unbound version of "method"
42
+ // 创建一个解绑定的 "method"
43
43
// 输入参数为: this, arg1, arg2...argN
44
44
Foo.method = function() {
45
45
@@ -77,8 +77,7 @@ JavaScript 中每个函数内都能访问一个特别变量 `arguments`。这个
77
77
78
78
### 性能真相
79
79
80
- ` arguments ` 对象总会被创建,除了两个特殊情况 - 作为局部变量声明和作为形式参数。
81
- 而不管它是否有被使用。
80
+ 不管它是否有被使用,` arguments ` 对象总会被创建,除了两个特殊情况 - 作为局部变量声明和作为形式参数。
82
81
83
82
` arguments ` 的 * getters* 和 * setters* 方法总会被创建;因此使用 ` arguments ` 对性能不会有什么影响。
84
83
除非是需要对 ` arguments ` 对象的属性进行多次访问。
Original file line number Diff line number Diff line change 56
56
57
57
###避免引用错误
58
58
59
- 为了正确的获得循环序号,最好使用 [ 匿名包裹器 ] ( #function.scopes ) (** [ 译者注] [ 30 ] :** 其实就是我们通常说的自执行匿名函数)。
59
+ 为了正确的获得循环序号,最好使用 [ 匿名包装器 ] ( #function.scopes ) (** [ 译者注] [ 30 ] :** 其实就是我们通常说的自执行匿名函数)。
60
60
61
61
for(var i = 0; i < 10; i++) {
62
62
(function(e) {
70
70
71
71
当传递给 ` setTimeout ` 的匿名函数执行时,它就拥有了对 ` e ` 的引用,而这个值是** 不会** 被循环改变的。
72
72
73
- 有另一个方法完成同样的工作; 那就是从匿名包装器中返回一个函数。这和上面的代码效果一样。
73
+ 有另一个方法完成同样的工作, 那就是从匿名包装器中返回一个函数。这和上面的代码效果一样。
74
74
75
75
for(var i = 0; i < 10; i++) {
76
76
setTimeout((function(e) {
Original file line number Diff line number Diff line change @@ -214,7 +214,7 @@ JavaScript 中的所有作用域,包括*全局作用域*,都有一个特别
214
214
推荐使用* 匿名包装器* (** [ 译者注] [ 30 ] :** 也就是自执行的匿名函数)来创建命名空间。这样不仅可以防止命名冲突,
215
215
而且有利于程序的模块化。
216
216
217
- 另外,使用全局变量被认为是** 不好的习惯** 。这样的代码倾向于产生错误和带来高的维护成本 。
217
+ 另外,使用全局变量被认为是** 不好的习惯** 。这样的代码容易产生错误并且维护成本较高 。
218
218
219
219
[ 1 ] : http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-javascript-hoisting-explained/
220
220
[ 30 ] : http://cnblogs.com/sanshi/
Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ JavaScript 有一套完全不同于其它语言的对 `this` 的处理机制。
86
86
87
87
上例中,` test ` 就像一个普通的函数被调用;因此,函数内的 ` this ` 将不再被指向到 ` someObject ` 对象。
88
88
89
- 虽然 ` this ` 的晚绑定特性似乎并不友好,但是这确实 [ 基于原型继承] ( #object.prototype ) 赖以生存的土壤。
89
+ 虽然 ` this ` 的晚绑定特性似乎并不友好,但这确实是 [ 基于原型继承] ( #object.prototype ) 赖以生存的土壤。
90
90
91
91
function Foo() {}
92
92
Foo.prototype.method = function() {};
You can’t perform that action at this time.
0 commit comments