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 22
33就像其他的 ` in ` 操作符一樣, ` for in ` 循環也進入所有在物件中的屬性
44
5- > ** 注意: ** ` for in ` 迴圈 ** 不會** 進入那些 ` enumerable ` 屬性是 ` false ` ,舉例來說, 陣列中 ` length ` 的屬性
6-
5+ > ** 注意: ** ` for in ` 迴圈 ** 不會** 進入那些 ` enumerable ` 屬性是 ` false ` ,舉例來說,陣列中 ` length ` 的屬性
6+
77 // 修改 Object.prototype
88 Object.prototype.bar = 1;
99
3434
3535### 總結
3636
37- 推薦 ** 總是** 使用 ` hasOwnProperty ` 。不要對程式碼的環境做任何假設,不要假設原生的對象是否被擴張
37+ 推薦 ** 總是** 使用 ` hasOwnProperty ` 。不要對程式碼的環境做任何假設,不要假設原生的對象是否被擴張。
3838
3939[ 1 ] : http://www.prototypejs.org/
4040
Original file line number Diff line number Diff line change 11## Prototype
22
3- JavaScript 不包含原本繼承的模型。然而它使用的是* 原型* 模型* 。
3+ JavaScript 不包含原本繼承的模型。然而它使用的是* 原型* 模型。
44
55然而常常有人提及 JavaScript 的缺點,就是基於原本繼承模型比類繼承更強大。
66現實傳統的類繼承模型是很簡單。但是在 JavaScript 中實現元繼承則要困難很多。
@@ -80,9 +80,8 @@ JavaScript 不包含原本繼承的模型。然而它使用的是*原型*模型*
8080
8181在寫複雜的程式碼的時候,要 ** 充分理解** 所有程式繼承的屬性還有原型鏈。
8282還要堤防原型鏈過長帶來的性能問題,並知道如何通過縮短原型鏈來提高性能。
83- 絕對 ** 不要使用** native prototype` 除非是為了和新的 JavaScript 引擎作兼容。
83+ 絕對 ** 不要使用** ` native prototype ` 除非是為了和新的 JavaScript 引擎作兼容。
8484
8585[ 1 ] : http://en.wikipedia.org/wiki/Monkey_patch
8686[ 2 ] : http://prototypejs.org/
8787[ 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