12. 流程控制 - 判斷式 (switch)
switch (變數) {
case 值1:
....
如果沒有 break; 則流程會繼續
break; 到下一個 case
case 值2:
...
break;
...
default:
...
}
13. 流程控制 - 迴圈 (do while/while)
用來重覆執行某一段程式碼
var n = 10, i = 10;
while (i < n) {
i = i + 1;
}
// 這裡 i == 10
var n = 10, i = 10;
do {
i=i +1
} while (i < n);
// 這裡 i == 11
14. 流程控制 - 迴圈 (for)
1 2 5 4
for (敘述句; 判斷式; 敘述句) {
3 .....
}
上一頁的例子可以寫成相同的 for 迴圈:
var n = 10, i;
for (i = 0; i < n; i = i + 1) {
;
}
// 這裡 i == 10
15. 自訂函數
為了結構化函式、重覆利用程式碼, 例:
可以自訂函數 function plus2(x)
{
function 函式名稱(參數列...) { return x + 2;
}
...
}
var a = 10;
b = plus2(a);
也可以寫成:
// b 這裡 值為 12
var 函式名稱 = function(參數列) {
.....
}
16. 匿名函數 (anonymous function)
當某些 API 需要傳入一個 function 作為參數時,如果只用一次也
可以直接傳入一個匿名函數。
/* 每 1 秒顯示一次訊息 */
var timerId = setInterval(function(){alert('hi');}, 1000);
/* 清除 timer */
clearInterval(timerId);
/* 1秒後顯示 */
setTimeout(funciton(){alert('!!');}, 1000);
17. 進階資料型態: 陣列 (Array)
可以擺放連續資料的結構,再透過 index 的方式取得或設定資
料的內容。
生成陣列的方式:
var a = [123, quot;abcdquot;];
var a = [];
a[0] = 123;
var a = new Array(123, quot;abcdquot;);
a[1] = quot;abcdquot;;
44. Prototype.js
一個以 Class 為基礎的 framework,Ruby-on-Rails 的預先配置
JavaScript 框架。
Prototype.js 的使用範例:
取得網頁元素物件的 shortcut:
// var p = document.getElementById('x');
var p = $('x');
方式的 DOM 操作:
new Insertion.Before('result', '<h1>Result</h1>');
簡易使用的 Ajax:
new Ajax.Updater('result', '/hello.php');