From 8d4b8cbc81491ecd2c40e9cdbb2c278870f43d10 Mon Sep 17 00:00:00 2001 From: Timothy Lee Date: Wed, 14 Oct 2015 02:02:02 +0800 Subject: [PATCH] modified some sentences and fixed typo --- doc/zhtw/core/eval.md | 2 +- doc/zhtw/function/general.md | 8 ++++---- doc/zhtw/function/this.md | 6 +++--- doc/zhtw/object/forinloop.md | 6 +++--- doc/zhtw/object/hasownproperty.md | 4 ++-- doc/zhtw/object/prototype.md | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/doc/zhtw/core/eval.md b/doc/zhtw/core/eval.md index fb9e36bb..26b7d332 100644 --- a/doc/zhtw/core/eval.md +++ b/doc/zhtw/core/eval.md @@ -32,7 +32,7 @@ ### 安全上的顧慮 `eval` 同樣有安全上的問題,因為所有的程式碼都可以被直接執行。 -而他不應去執行一串未知的字串或是來自不幸任的來源。 +而他不應去執行一串未知的字串或是來自不信任的來源。 ### 結語 diff --git a/doc/zhtw/function/general.md b/doc/zhtw/function/general.md index 84a2bb3c..fe400880 100644 --- a/doc/zhtw/function/general.md +++ b/doc/zhtw/function/general.md @@ -25,19 +25,19 @@ 由於 `var` 已經宣告變數 `foo` 在所有的程式碼執行之前。 所以 `foo`已經在程式運行前就已經被定義過了。 -但是因為賦值只會在運行時去職情,所以在程式碼執行前,`foo` 的值還沒被宣告所以為 [undefined](#core.undefined)。 +但是因為賦值只會在運行時去執行,所以在程式碼執行前,`foo` 的值還沒被宣告所以為 [undefined](#core.undefined)。 ### 命名函式的賦值表達式 -另一個特殊狀況就勢將一個命名函式賦值給一個變數。 +另一個特殊狀況是將一個命名函式賦值給一個變數。 var foo = function bar() { bar(); // 可以運行 } bar(); // 錯誤:ReferenceError -`bar` 不可以在外部的區域被執行,因為它只有在 `foo` 的函式內才可以去執行。 +`bar` 不可以在外部的區域被執行,因為它只有在 `foo` 的函式內才可以執行。 然而在 `bar` 內部還是可以看見。這是由於 JavaScript的 [命名處理](#function.scopes)所致。 -函式名在函式內 *都* 可以去使用。 +函式名在函式內 *都* 可以使用。 diff --git a/doc/zhtw/function/this.md b/doc/zhtw/function/this.md index d919c228..c5bf8d60 100644 --- a/doc/zhtw/function/this.md +++ b/doc/zhtw/function/this.md @@ -1,7 +1,7 @@ ## `this` 的工作原理 JavaScript 有移到完全部屬於其他語言處理 `this` 的處理機制。 -在 **五** 種物同的情況下, `this` 指向的個不相同 +在 **五** 種不同的情況下, `this` 指向的各不相同 ### 全域變數 @@ -14,12 +14,12 @@ JavaScript 有移到完全部屬於其他語言處理 `this` 的處理機制。 foo(); -這裡 `this` 也會指向 *全域* 對象。 +這裡 `this` 也會指向 *全域* 物件。 > **ES5 注意:** 在嚴格模式下,不存在全域變數。 > `this` 將會是 `undefined`。 -### 方法調用 +### 呼叫一個方法 test.foo(); diff --git a/doc/zhtw/object/forinloop.md b/doc/zhtw/object/forinloop.md index 67fa8915..06b248a6 100644 --- a/doc/zhtw/object/forinloop.md +++ b/doc/zhtw/object/forinloop.md @@ -27,10 +27,10 @@ } 這個版本的程式碼是唯一正確的寫法。由於我們使用了 `hasOwnProperty`,這次 **只** 輸出 `moo`。 -如果不只用這個程式碼在原型物件中(比如 `Object.prototype`)被擴展可能會出錯。 +如果不使用這個程式碼在原型物件中(比如 `Object.prototype`)被擴展可能會出錯。 -一個廣泛的模組 [Prototype][1]就礦展了圓型的 JavaScript 物件。 -因此,但這模組包含在頁面中時,不使用 `hasOwnProperty` 過濾的 `for in` 尋難免會出問題。 +一個廣泛使用的舊函式庫 [Prototype][1]就擴展了原型的 JavaScript 物件。 +因此,當這個函式庫包含在頁面中時,不使用 `hasOwnProperty` 過濾的 `for in` 迴圈難免會出問題。 ### 總結 diff --git a/doc/zhtw/object/hasownproperty.md b/doc/zhtw/object/hasownproperty.md index d35d49e2..5d8403b4 100644 --- a/doc/zhtw/object/hasownproperty.md +++ b/doc/zhtw/object/hasownproperty.md @@ -1,6 +1,6 @@ ## `hasOwnProperty` -為了判斷一個物件是否包含 *自定義* 屬性而 *不是* [原形](#object.prototype)上的屬性,我們需要使用繼承 `Object.prototype` 的 `hasOwnProperty` 方法。 +為了判斷一個物件是否包含 *自定義* 屬性而 *不是* [原型](#object.prototype)上的屬性,我們需要使用繼承 `Object.prototype` 的 `hasOwnProperty` 方法。 > **注意:** 判斷一個屬性是否 `undefined` 是 **不夠的**。 > 因為一個屬性可能存在,但是它的值被設成 `undefined`。 @@ -42,4 +42,4 @@ JavaScript **不會** 保護 `hasOwnProperty`被占用,因此如果碰到存 當檢查一個物件是否存在的時候, `hasOwnProperty` 是 **唯一** 可用的方法。 同時在使用 [`for in loop`](#object.forinloop) -建議使用 `hasOwnProperty` 避免 [原型](#object.prototype)所帶來的干擾。 \ No newline at end of file +建議使用 `hasOwnProperty` 避免 [原型](#object.prototype)所帶來的干擾。 diff --git a/doc/zhtw/object/prototype.md b/doc/zhtw/object/prototype.md index e861a1ab..d4df339f 100644 --- a/doc/zhtw/object/prototype.md +++ b/doc/zhtw/object/prototype.md @@ -72,14 +72,14 @@ JavaScript 不包含傳統繼承的模型,它使用的是*原型*模型。 一個經常發生的錯誤,那就是擴展 `Object.prototype` 或者是其他內建類型的原型物件。 -這種技術叫做 [monkey patching][1] 並且會破壞 *封裝*。雖然被廣泛的應用到一些 Javascript 的架構,像是 [Prototype](http://prototypejs.org) , 但仍然沒有好的理由新增一個 *非標準* 的功能去搞亂內建型別 +這種技術叫做 [monkey patching][1] 並且會破壞 *封裝*。雖然被廣泛的應用到一些 Javascript 的架構,像是 [Prototype](http://prototypejs.org) , 但仍然沒有好的理由新增一個 *非標準* 的功能去搞亂內建型別。 擴展內置類型的 **唯一** 理由是為了和新的 JavaScript 保持一致,比如說 [`Array.forEach`][3] ### 總結 在寫複雜的程式碼的時候,要 **充分理解** 所有程式繼承的屬性還有原型鏈。 -還要堤防原型鏈過長帶來的性能問題,並知道如何通過縮短原型鏈來提高性能。 +還要提防原型鏈過長帶來的性能問題,並知道如何通過縮短原型鏈來提高性能。 絕對 **不要使用** `native prototype` 除非是為了和新的 JavaScript 引擎作兼容。 [1]: http://en.wikipedia.org/wiki/Monkey_patch