Skip to content
Ho-Yang Tsai edited this page Sep 28, 2015 · 15 revisions

第二章

for 迴圈

__ Page 17 __

i = i + 1
i += 1
JSLint 提示你這麼做;原因是他對 ++ 和 -- 提示「過度使用伎倆」(excessive trickiness)。如果你不同意這點,你可以將 JSLint 的設定值 plusplus 設為 false(預設為true)。

第三章

物件實字

__ Page 42 __

Hint 「空白物件(blank object)」和「空物件(empty object)」只是為了簡化,Javascript裡並沒有真正空的物件,即使是最簡單的 {} 物件也會有繼承自Object.prototype的屬性和方法。而「空」物件我們將解釋為,一個物件,除了繼承來的屬性之外沒有自己的屬性。

__ Page 54 __

Javascript 有五種原始型別:數值、字串、布林、null 和 undefined。除了 null 和 undefined 之外,其餘三種型別都有原始型別包裹物件(primitive wrapper objects)。包裹物件可以使用內建的建構式 Number()、String() 和 Boolean()來建立。

原始數值和數值物件的差異,參考下面的範例:

var n = 100;
console.log(typeof n); // "number"

var nobj = new Number(100);
console.log(typeof nobje); // "object"

https://github.com/hoyangt/js-pattern/blob/master/ch3_p55_number_and_object.js

第四章

函式的 name 屬性

__ Page 62 __

函式宣告式只能出現在「program code」裡面,意思是在函式本體中,或在全域空間中。它門的定義無法賦值給變數或屬性,或作為其他函式的參數。

// 全域作用域
function foo() {}

function local() {
  // 區域作用域
  function bar() {}
  return bar;
}

__ Page 63 __

Hint 技術上是可以將一個具名函式表示式指派給有著另一個名稱的變數,例如:

var foo = function bar() {};   

然後這種方法產生的行為在某些瀏覽器(IE)上未被正確的實作,所以不建議用這種模式。

Clone this wiki locally