第一篇:簡單介紹JavaScript

  1. 變數命名
  2. 資料型別(data type)
  3. 關鍵字
  4. 保留字
  5. 比較符號
  6. 邏輯符號

建議使用右下方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標準

將網頁分離為三個部份,結構、表現、行為。

  1. Structure--(X)HTML
  2. Presentation--CSS
  3. Behavior--JavaScript

傳統HTML的缺點

  1. 維護困難 為了修改某個標記格式,需要花費很多時間,越後期的修改、維護成本越高。
  2. 標記不足 HTML本身標記不足,HTML本身標記都是內容服務使用,關於美工、排版根本很少或沒有支援。
  3. 網頁過胖 傳統網頁除了包含HTML外,還加上CSS、JavaScript,最後還會加上動態程式語言,除了維護困難,頁面往往過於胖大,浪費許多頻寬。
  4. 定位困難 HTML在定位時就顯得捉襟見肘,過多的<table>也導致頁面的複雜和後期維護的困難。

對網站瀏覽者的好處

  1. 檔案下載、頁面顯示更快
  2. 內容能被更多使用者訪問(含殘障人士)
  3. 內容能被更多設備訪問(PDA、智慧手機…)
  4. 使用者能透過CSS選擇自己介面風格
  5. 由CSS提供適合列印版本

對網站開發者的好處

  1. 更少的程式碼
  2. 更容易維護
  3. 頻寬要求更低,例如,ESPN.com使用CSS改版,每天節約超過2TB的頻寬。
  4. 更容易被搜尋引擎接受,及更高的排名
  5. 改版方便(結構、表現、行為分離)
  6. 提高網站易用性,例如,美國:Section 508、台灣:無障礙空間、國際:WCAG

ECMAScript語法

  1. 區分大小寫
  2. 弱類型變數:定義變數只用"var"關鍵字,並可以初始化為任意的值。
  3. 每行結尾的分號可有可無


    養成良好的程式設計習慣,為每一句程式結尾都加上分號。


    在新版Browser中,不加分號會有問題
  4. 括孤{ }用區程式碼區塊
  5. 註解


    //這是單行註解


    /*


    這是多行註解


    */

變數

  1. 變數是透過var關鍵字來宣告,是記憶體裡獨一無二名稱(unique name)的存儲位置(storage location)。
  2. 變數在使用之前都應宣告(雖然不宣告也能使用)。
  3. 未宣告的變數,會自動建立為全域變數(在函式內也一樣),並初始化為指定的值。
  4. 同一變數應該只儲存一種資料型別,建立一個有初始值的變數,是種好習慣。

命名

  1. 字首必是英文字母、底線(_)或$符號。
  2. 其他可以是英文字母、底線(_)、數字、$符號。
  3. 變數不能是關鍵字或保留字。

命名規則

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

常數

  1. 常數用來建立一個不會改變的值,除了修改JavaScript原始碼之外。
  2. 常數透過const關鍵字來宣告
  3. 常數習慣以「全大寫字母」來命名,例如,const TAXRATE = .5;。
  4. const關鍵字最近才加入JavaScript,使用前請多檢查。IE到目前都還不支援(IE8)。

初始化

  1. 初始化背後的概念,在於避免存取沒有存入值的變數。
  2. 如果宣告時還不知變數值,可先使用「什麼都沒有」來當值,減低存取未初始化變數的風險。

初始值

範例

"",空字串

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)
JavaScript基本資料型別,布林(boolean), 字串(string), 數值(number);JavaScript會在你設定資料時,自動判定型別,自動指定,我們無法在設定變數時設定資料型別。

關鍵字

  • 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會得true。要避免型態強制轉換,要用三等號運算子(絕對等於),例如,

1 === true會得false,還有一個!== (絕對不等於)運算子。

邏輯符號

邏輯符號 說明
&& And運算
|| Or運算
! Not運算

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。