程 序 人 生

[每个人都是工程师,书写着属于自己的人生代码!--林海]
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JavaScript 語法

Posted on 2006-05-07 14:49  林海  阅读(2189)  评论(0编辑  收藏  举报

格式 while 指令 註解
for 指令 資料型態 parseInt() 內建函數
特殊字元 new 宣告變數
this 整體變數、區域變數 with
陣列 parse Float () 內建函數 定義函數
eval () 內建函數 運算子 字串 String 物件屬性
if 指令 陣列 Array 物件屬性 日期 Date 物件屬性
on Unload 事件 數學 Math 物件屬性 on Mouse Over 事件
Navigator 物件 on Mouse Over 事件 window 物件的參考方式
on Click 事件 window 物件的屬性 on Abort 事件
window 物件的方法 on Blur 事件 break 指令
on Change 事件 continue 指令 on Error 事件
事件處理通式 on Focus 事件 on Load 事件
on Select 事件 on Sub mit 事件





--------------------------------------------------------------------------------


格式

<script language="JavaScript">

敘述

</script>

通常是放在 <HEAD> …… </HEAD> 之間



註解

/* → 註解開始,*/ → 註解結束
// → 整行都是註解



資料型態

八進制:以0為開頭,其後接0-7所組成。例:011

十六進制:以0x或0X為開頭,其後接0-9、a-f、A-F所組成

例:0xff或0XFF

1E6表示1000000;25e-2表示0.25;4.5e5表示450000

字串:使用雙引號"或單引號'括起來。例:'a';"11"



特殊字元

\a:雙響字元
\b:倒退字元
\f:跳頁字元
\n:換列字元
\r:回歸字元
\t:TAB字元
\":顯示"字元
\\:顯示\字元


宣告變數:var 變數名稱

var 變數名稱 = 初值 → 設定該變數的初值
var 變數名稱 = null → 代表該變數內是空的
變數名稱的第一個字元必須是英文字母或底線_
變數名稱中不可有空白字元及標點符號
變數名稱有分大小寫


整體變數、區域變數

整體變數:在函數以外宣告的變數,不論有沒有使用var來宣告;或在函數內不使用var來宣告的變數。有效範圍為整個程式。

區域變數:在函數內用var來宣告的變數。有效範圍為該函數



陣列

陣列名稱 = new Array(數目)

例:scores = new Array(10); → 宣告10個陣列,分別為scores[0] … scores[9];若想設定其值則:scores[0]=數值;



定義函數

function 函數名稱(參數1,參數2,……)

{

函數內容

}

通常將函數定義部份置於<HEAD> </HEAD> 之間;將呼叫函數的部份置於<BODY> …… </BODY> 之間



運算子

+ 加;-減;*乘;/除;%取除數;++每次加1;--每次減1
+= (例 i+=j即i = i + j);-= (例 i-=j即i = i - j);*= (例 i*=j即i = i * j)
/= (例 i/=j即i = i / j);=等於


>大於;<小於;==相等;!=不等於;>=大於等於;<=小於等於


&&且(AND);||或(OR);!否(NOT)


+ 字串連結成一字串


真假判斷式 ? 運算式1:運算式2

例:j=((i>5) ? 10:20) → 當i>5時j=10,當i<5時j=20


數字1&數字2 → 兩數字轉成二進制後進行AND運算

數字1|數字2 → 兩數字轉成二進制後進行OR運算

數字1^數字2 → 兩數字轉成二進制後進行XOR運算


數字 << 向左位移數 → 數字向左位移幾位;右邊補0

例:20 >>3 → 20二進制為00010100位移後為10100000即160


數字>>向右位移數 → 數字向右位移幾位;左邊補0;正負號不變

例:20 << 3 → 20二進制為00010100位移後為00000010即2


數字>>>向右位移數 → 數字向右位移幾位;左邊補0;正負號會變


if 指令

if (判斷式1)

{

運算式1

}

else

{

運算式2

}

如果判斷式為真則執行運算式1否則執行運算式2



while 指令

while (判斷式)

{

運算式

}

如果判斷式成立則執行該運算式,直到判斷式不成立時才跳出迴圈



for 指令

for (初始運算式:判斷式;每次做完迴圈執行運算式)

{

運算式

}

如果判斷式成立則執行該運算式,直到判斷式不成立時才跳出迴圈



parseInt() 內建函數

尋找所傳遞的字串參數中,開始位置的整數值;若字串未含整數或字串開頭不是整數值則此函數傳回0

例:a = parseInt("11 abc"); → 則a的結果為11

例:a = parseInt("1a test",16); → 則a的結果為十六進制的1a而非1

例:a = parseInt("1a test",10); → 則a的結果為十進制的1



new:建立一個物件的附本;字串string物件不可使用new

this:參考現在正在使用或定義的物件

with:



parseFloat() 內建函數

尋找所傳遞的字串參數中,開始位置的浮點數;若字串未含浮點數或字串開頭不是浮點數則此函數傳回0

例:a = parseFloat("11.21 abc"); → 則a的結果為11.21



eval() 內建函數

將所傳遞的字串當做是一個運算式或陳述式來處理

例:a = eval("20 + 1 + 4"); → 則a的結果為25



字串String物件屬性:物件名稱. 物件屬性

length:傳回字串的長度
anchor():產生新的連結點
link():產生新的連結
big():放大字串
small():縮小字串
blink():使字串閃爍 (IE4無效)
bold():粗體字
fixed():打體字
italics():斜體字
strike():字串加上刪除線
fontcolor():設定字串顏色
fontsize():設定字體大小
sub():下標字
sup():上標字
charAt():傳回字串字所指定的位置
indexOf():從頭開始搜尋字串,並傳回位置
lastIndexOf():從尾開始搜尋字串,並傳回位置
substring():傳回字串字所指定的子字串
toLowerCase():全部轉成小寫字
toUpperCase():全部轉成大寫字


陣列Array物件屬性:作為有序的變數集合

length:取得陣列的長度
join():快速結合陣列的所有元素而成為一個字串
reverse():陣列元素順序反轉
sort():陣列元素順序遞增排序


日期Date物件屬性

格式1:變數 = new Date();

格式2:變數 = new Date(月 日,年,時,分,秒);

格式3:變數 = new Date(年,月,日);

格式4:變數 = new Date(年,月,日,時,分,秒);

setDate():設定Date物件的日,範圍1~31
setHours():設定Date物件的時,範圍0~23
setMinutes():設定Date物件的分,範圍0~59
setMonth():設定Date物件的月,範圍0~11 (0表一月)
setSeconds():設定Date物件的秒,範圍0~59
setTime():設定物件時間,自1970年0時起算,單位毫秒
setYear():設定物件時間的年,自1970年開始,系統時間1900起算
getDate():取得Date物件的日
getDay():取得Date物件的星期
getHours():取得Date物件的時
getMinutes():取得Date物件的分
getMonth():取得Date物件的月
getSeconds():取得Date物件的秒
getTime():取得物件時間,自1970年0時起算,單位毫秒
getYear():取得物件時間的年
getTimeZoneoffset():取得本地時間與標準時間的時間差,單位毫秒
toGMTString():將本地時間轉成標準時間(GMT),字串亦轉換
toLocalString():將標準時間(GMT)轉成本地時間,字串亦轉換
parse():將所指定Data物件時間字串轉換成1970年0時所經過的毫秒數 (本地時間)
UTC():將所指定Data物件時間字串轉換成1970年0時所經過的毫秒數 (格林威治標準時間)


數學Math物件屬性

格式:Math.屬性

E:自然數E = 2.718281828459045
LN2:ln 2 = 0.6931471805599453
LN10:ln 10 = 2.302585092994046
LOG2E:log2e = 1.4426950408889633
LOG10E:log e = 0.4342944819032518
PI:π =3.141592653589793
SQRT1_2=0.7071067811865476
SQRT2=1.4142135623730951
abs():絕對值
cos():餘弦函數
acos():反餘弦函數
sin():正弦函數
asins():反正弦函數
tan():正切函數
atan():反正切函數
ceil():取大於或等於的最小整數
floor():取小於或等於的最大整數
max():兩數比較,取最大者
min():兩數比較,取最小者
exp():自然數的次方
log():自然對數
pow():次方
randow():取介於0~1之間的亂數
round():四捨五入
sqrt():計算數值的平方根


Navigator物件:navigator.屬性

appCodeName:瀏覽器代號;通常是Mozilla
appName:瀏覽器名稱
appVersion:瀏覽器版本
userAgent:使用者介面名稱


window物件的參考方式

operner:參考到開啟這個視窗的視窗
parent:參考到框架 (frame) 的上一層視窗
self:參考到目前的視窗
window:參考到目前的視窗
top:參考到瀏覽器最上層視窗,通常是第一個開啟的視窗


window物件的屬性

location:含有視窗中所顯示URL資料
document:網頁本身
history:包含前後的網址資料
defaultStatus:在瀏覽器狀態列上所顯示的初始預設訊息
frames[index]:由母視窗參考到各個框架
name:視窗名稱
length:視窗中框架 (frame) 的數量
status:瀏覽器狀態列訊息


window物件的方法

alert():顯示警示對話方塊
blur():將視窗移至背景後
cleatTimeout():清除計時器
close():關閉視窗
confirm():顯示確認對話方塊
focus():將視窗移至最上層
open():開啟新視窗

名稱 = window.open("URL",,"視窗特性");

視窗特性:視窗的高height=□、寬width=□、工具列toolbar=0無、
狀態列status=0無


prompt():顯示文字輸入對話方塊
setTimeout():設定計時器


break指令:跳出該迴圈

continue指令

遇到continue時忽略以下的運算式跳回迴圈開始運算式繼續往下執行



事件處理通式

<普通HTML文件標籤 事件處理="處理事件的方法">



onLoad 事件:當文件或影像完成載入時發生。需寫在 <BODY> 內

onUnload 事件:當使用者離開文件時發生。需寫在 <BODY> 內

onMouseOver 事件

<A HREF="位址" onMouseOver="事件處理程序"> 文字 </A>

當使用者把滑鼠移至該項目時發生



onMouseOver 事件

當使用者把滑鼠移開該項目時發生



onClick事件:當使用者按下表單中的項目時發生

onAbort事件:當使用者放棄載入影像時發生

onBlur事件:當頁中的物件失去注意時發生

onChange事件:當文字欄位被使用者改變時發生

onError事件:當文字或影像不能正確被載入時發生

onFocus事件:當項目獲得注意時發生

onSelect事件:當使用者在文字欄位選取文字時發生

onSubmit事件:當使用者遞送表單時發生