File tree Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Original file line number Diff line number Diff line change 2
2
3
3
就像其他的 ` in ` 操作符一樣, ` for in ` 循環也進入所有在物件中的屬性
4
4
5
- > ** 注意: ** ` for in ` 迴圈 ** 不會** 進入那些 ` enumerable ` 屬性是 ` false ` ,舉例來說, 陣列中 ` length ` 的屬性
6
-
5
+ > ** 注意: ** ` for in ` 迴圈 ** 不會** 進入那些 ` enumerable ` 屬性是 ` false ` ,舉例來說,陣列中 ` length ` 的屬性
6
+
7
7
// 修改 Object.prototype
8
8
Object.prototype.bar = 1;
9
9
34
34
35
35
### 總結
36
36
37
- 推薦 ** 總是** 使用 ` hasOwnProperty ` 。不要對程式碼的環境做任何假設,不要假設原生的對象是否被擴張
37
+ 推薦 ** 總是** 使用 ` hasOwnProperty ` 。不要對程式碼的環境做任何假設,不要假設原生的對象是否被擴張。
38
38
39
39
[ 1 ] : http://www.prototypejs.org/
40
40
Original file line number Diff line number Diff line change 1
1
## Prototype
2
2
3
- JavaScript 不包含原本繼承的模型。然而它使用的是* 原型* 模型* 。
3
+ JavaScript 不包含原本繼承的模型。然而它使用的是* 原型* 模型。
4
4
5
5
然而常常有人提及 JavaScript 的缺點,就是基於原本繼承模型比類繼承更強大。
6
6
現實傳統的類繼承模型是很簡單。但是在 JavaScript 中實現元繼承則要困難很多。
@@ -80,9 +80,8 @@ JavaScript 不包含原本繼承的模型。然而它使用的是*原型*模型*
80
80
81
81
在寫複雜的程式碼的時候,要 ** 充分理解** 所有程式繼承的屬性還有原型鏈。
82
82
還要堤防原型鏈過長帶來的性能問題,並知道如何通過縮短原型鏈來提高性能。
83
- 絕對 ** 不要使用** native prototype` 除非是為了和新的 JavaScript 引擎作兼容。
83
+ 絕對 ** 不要使用** ` native prototype ` 除非是為了和新的 JavaScript 引擎作兼容。
84
84
85
85
[ 1 ] : http://en.wikipedia.org/wiki/Monkey_patch
86
86
[ 2 ] : http://prototypejs.org/
87
87
[ 3 ] : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach
88
-
You can’t perform that action at this time.
0 commit comments