- 變數命名
- 資料型別(data type)
- 關鍵字
- 保留字
- 比較符號
- 邏輯符號
建議使用右下方Popout按鍵來「全螢幕」觀看。
History
2010/05/06,整理資料至xmind。2010/11/23,xmind內容轉為文字輸出。
ECMAScript(262)
ECMAScript定義了指令碼語言的所有語法、類型、語句、關鍵字、保留字、運算子和物件等,其他語言可以實現ECMAScript來作為功能基礎,JavaScript就是其中之一。ECMAScript |
---|
JavaScript |
ActionScript |
ScriptEase |
BOM
Browser Object Model,BOM提供Web開發者移動視窗、改變狀態列…一些與網頁內容無關的動作。DOM
Document Object Model, 一種與瀏覽器、平台、語言無關的介面,DOM把整個網頁標籤轉換成節點樹架構的文件。Web標準
將網頁分離為三個部份,結構、表現、行為。- Structure--(X)HTML
- Presentation--CSS
- Behavior--JavaScript
傳統HTML的缺點
- 維護困難 為了修改某個標記格式,需要花費很多時間,越後期的修改、維護成本越高。
- 標記不足 HTML本身標記不足,HTML本身標記都是內容服務使用,關於美工、排版根本很少或沒有支援。
- 網頁過胖 傳統網頁除了包含HTML外,還加上CSS、JavaScript,最後還會加上動態程式語言,除了維護困難,頁面往往過於胖大,浪費許多頻寬。
- 定位困難 HTML在定位時就顯得捉襟見肘,過多的<table>也導致頁面的複雜和後期維護的困難。
對網站瀏覽者的好處
- 檔案下載、頁面顯示更快
- 內容能被更多使用者訪問(含殘障人士)
- 內容能被更多設備訪問(PDA、智慧手機…)
- 使用者能透過CSS選擇自己介面風格
- 由CSS提供適合列印版本
對網站開發者的好處
- 更少的程式碼
- 更容易維護
- 頻寬要求更低,例如,ESPN.com使用CSS改版,每天節約超過2TB的頻寬。
- 更容易被搜尋引擎接受,及更高的排名
- 改版方便(結構、表現、行為分離)
- 提高網站易用性,例如,美國:Section 508、台灣:無障礙空間、國際:WCAG。
ECMAScript語法
- 區分大小寫
- 弱類型變數:定義變數只用"var"關鍵字,並可以初始化為任意的值。
- 每行結尾的分號可有可無
養成良好的程式設計習慣,為每一句程式結尾都加上分號。
在新版Browser中,不加分號會有問題 - 括孤{ }用區程式碼區塊
- 註解
//這是單行註解
/*
這是多行註解
*/
變數
- 變數是透過var關鍵字來宣告,是記憶體裡獨一無二名稱(unique name)的存儲位置(storage location)。
- 變數在使用之前都應宣告(雖然不宣告也能使用)。
- 未宣告的變數,會自動建立為全域變數(在函式內也一樣),並初始化為指定的值。
- 同一變數應該只儲存一種資料型別,建立一個有初始值的變數,是種好習慣。
命名
- 字首必是英文字母、底線(_)或$符號。
- 其他可以是英文字母、底線(_)、數字、$符號。
- 變數不能是關鍵字或保留字。
命名規則
Camel
- 首字母小寫,其他單字字首大寫
- studentName, classNumber
- 用於變數和函式
Pascal
- 首字母大寫
- FirstName, LastName
- 用於物件
匈牙利
改良Pascal,在變數前加上(一個或一組)小寫字母來說明變數的型別。- i代表Integer,s代表String
- int代表Integer,str代表String
項目 | 範例 | 縮寫 |
---|---|---|
陳列 | a / arr | sStudents |
布林 | b / bln | bSex |
浮點數 | f | fTax |
函數 | fn | fnSwap |
整數 | i / int | iAge |
物件 | o / obj | oCar |
正規式 | re / reg | reTWID |
字串 | s / str | strName |
常數
- 常數用來建立一個不會改變的值,除了修改JavaScript原始碼之外。
- 常數透過const關鍵字來宣告
- 常數習慣以「全大寫字母」來命名,例如,const TAXRATE = .5;。
- const關鍵字最近才加入JavaScript,使用前請多檢查。IE到目前都還不支援(IE8)。
初始化
- 初始化背後的概念,在於避免存取沒有存入值的變數。
- 如果宣告時還不知變數值,可先使用「什麼都沒有」來當值,減低存取未初始化變數的風險。
初始值 | 範例 |
---|---|
"",空字串 | var name=""; |
0,數值 | var price=0; |
false,布林 | var Select=false; |
變數範圍(scope)
scope掌控變數的生命週期,還有程式碼是否可以存取變數。- 區域變數(Local Variables)
- 在函數內宣告的變數,存在於函式執行時,只能在函式內的程式區塊使用。
- 全域變數(Global Variables)
- 變數在函數外宣告,整個JavaScript程式的函數和程式碼都可以存取。
資料型別(data type)
未定義(undefined) | 某段資料未初始化,或沒有值 | |
空(null) | 不是字串的"",數字的0,布林的false,空就是空,代表一種空狀態。 | |
布林(boolean) | true(成立)與false(不成立) | |
字串(string) | 文字(text)資料只是一串字元,通常出現在單/雙引號之間 | |
數值(number) | 數字資料,未出現在單/雙引號之間的阿拉伯數字 | |
物件(object) | ||
參考(reference) | var check = function(evt){...}; | |
列表(list) | 完成(completion) |
關鍵字
- break
- case
- catch
- continue
- default
- delete
- do
- else
- finally
- for
- function
- if
- in
- instanceof
- new
- return
- switch
- this
- throw
- try
- typeof
- var
- void
- while
- with
保留字
- abstract
- boolean
- byte
- char
- class
- const
- debugger
- double
- enum
- export
- extends
- final
- float
- goto
- implements
- import
- int
- interface
- long
- native
- package
- private
- protected
- public
- short
- static
- super
- synchronized
- throws
- transient
- volatile
比較符號
比較符號 | 說明 |
---|---|
== | 等於 |
!= | 不等於 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
=== | 絕對等於 |
!== | 絕對不等於 |
1 === true會得false,還有一個!== (絕對不等於)運算子。
邏輯符號
邏輯符號 | 說明 |
&& | And運算 |
|| | Or運算 |
! | Not運算 |
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。