About Me

我的相片
Mr. Pigg
Taipei, Taiwan
檢視我的完整簡介

星期四, 3月 13, 2008

Javascript

物件
1. 如何建立一個物件
==> var obj = { a:1 , b: 2}

也可以後續再指定屬性
var obj = {}
obj.a = 1
obj.b = 2

2. 如何檢查某個物件是否有某個屬性
if (obj.a)

3. 可以用讀取陣列的方式讀取屬性
obj["a"]
易於用變數的方式去讀取屬性, 讓user input的字串來決定讀取哪個變數


函式
1. 函式可以assign給一個變數, 或是當成參數, 或是寫成不具名 (只用一次)
var f = function() {}
a.sort(function() {} )
var a = ( function() {} ) ()

2. function可以接受用任意個數的參數呼叫, 預設arguments物件可以依序讀取每一個變數
同時可以從arguments取得 callee & caller

3. 以物件的方式傳遞參數, 可以避免寫死參數順序與個數

4. apply & call
如果function中有用到this, 則其對象變成指到o
f.call (o, 1, 2)
==> o.m = f; o.m (1,2,) ; delete o.m


類別
1. 寫的很像function, 不過主要是再初始化內部變數
method 指定在 prototype上
new operator接的function name意思是指定該function為constructor
prototype的指標也會指到該function的prototype指標上

* add on 2008/9/21
- function在生成時,會同時生成prototype and prototype.constructor=自己
- new運算子生成空物件後, 會把空物件直接由function.prototype繼承所有屬性

2. Class variable / method 直接指定在Class上

3. function class( a,b ) { /* ... */ }

4. function body就是constructor也是代表這個class物件
new class() ==> 拿到的就是prototype

0 意見: