天天看點

JAVASCRIPT學習筆記基礎(三)JavaScript 特殊字元JavaScript 對象簡介JavaScript String 對象參考手冊JavaScript Date 對象參考手冊

javascript 使我們有能力建立動态頁面。事件是可以被 javascript 偵測到的行為。

網頁中的每個元素都可以産生某些可以觸發 javascript 函數的事件。比方說,我們可以在使用者點選某按鈕時産生一個 onclick 事件來觸發某個函數。事件在 html 頁面中定義。

滑鼠點選

頁面或圖像載入

滑鼠懸浮于頁面的某個熱點之上

在表單中選取輸入框

确認表單

鍵盤按鍵

注意:事件通常與函數配合使用,當事件發生時函數才會執行。

html 4.0 的新特性之一是有能力使 html 事件觸發浏覽器中的動作(action),比如當使用者點選某個 html 元素時啟動一段 javascript。下面是一個屬性清單,這些屬性可插入 html 标簽來定義事件動作。

ff: firefox, n: netscape, ie: internet explorer

屬性

當以下情況發生時,出現此事件

ff

n

ie

onabort

圖像加載被中斷

1

3

4

onblur

元素失去焦點

2

onchange

使用者改變域的内容

onclick

滑鼠點選某個對象

ondblclick

滑鼠輕按兩下某個對象

onerror

當加載文檔或圖像時發生某個錯誤

onfocus

元素獲得焦點

onkeydown

某個鍵盤的鍵被按下

onkeypress

某個鍵盤的鍵被按下或按住

onkeyup

某個鍵盤的鍵被松開

onload

某個頁面或圖像被完成加載

onmousedown

某個滑鼠按鍵被按下

onmousemove

滑鼠被移動

6

onmouseout

滑鼠從某元素移開

onmouseover

滑鼠被移到某元素之上

onmouseup

某個滑鼠按鍵被松開

onreset

重置按鈕被點選

onresize

視窗或架構被調整尺寸

onselect

文本被標明

onsubmit

送出按鈕被點選

onunload

使用者退出頁面

try...catch..

下一個例子會顯示一個确認框,讓使用者來選擇在發生錯誤時點選确定按鈕來繼續浏覽網頁,還是點選取消按鈕來回到首頁。如果 confirm 方法的傳回值為 false,代碼會把使用者重定向到其他的頁面。如果 confirm 方法的傳回值為 true,那麼代碼什麼也不會做。

throw 聲明的作用是建立 exception(異常)。你可以把這個聲明與 try...catch 聲明配合使用,以達到控制程式流并産生精确錯誤消息的目的。

exception 可以是字元串、整數、邏輯值或者對象。

注意:使用小寫字母編寫 throw。使用大寫字母會出錯!

下面的執行個體的作用是測定變量 x 的值。如果 x 的值大于 10 或者小于 0,錯誤就會被抛出 (throw)。這個錯誤被 catch 的參數捕獲後,就會顯示出自定義的出錯資訊。

我們剛講過如何使用 try...catch 聲明來捕獲網頁中的錯誤。現在,我們繼續講解如何使用 onerror 事件來達到相同的目的。

隻要頁面中出現腳本錯誤,就會産生 onerror 事件。

如果需要利用 onerror 事件,就必須建立一個處理錯誤的函數。你可以把這個函數叫作 onerror 事件處理器 (onerror event handler)。這個事件處理器使用三個參數來調用:msg(錯誤消息)、url(發生錯誤的頁面的 url)、line(發生錯誤的代碼行)。

浏覽器是否顯示标準的錯誤消息,取決于 onerror 的傳回值。如果傳回值為 false,則在控制台 (javascript console) 中顯示錯誤消息。反之則不會。

previous page

next page

你可以在 javascript 中使用反斜杠來向文本字元串添加特殊字元。

反斜杠用來在文本字元串中插入省略号、換行符、引号和其他特殊字元。

請看下面的 javascript 代碼:

在 javascript 中,字元串使用單引号或者雙引号來起始或者結束。這意味着上面的字元串将被截為:we are the so-called。

要解決這個問題,就必須把在 "viking" 中的引号前面加上反斜杠 (\)。這樣就可以把每個雙引号轉換為字面上的字元串。

現在 javascript 就可以輸出正确的文本字元串了:we are the so-called "vikings" from the north。

這是另一個例子:

上面的例子會産生以下輸出:

下面的表格列出了其餘的特殊字元,這些特殊字元都可以使用反斜杠來添加到文本字元串中:

代碼

輸出

\'

單引号

\"

雙引号

\&

和号

\\

反斜杠

\n

換行符

\r

回車符

\t

制表符

\b

倒退符

\f

換頁符

本節的内容是:在使用 javascript 進行編碼的過程中,其他一些需要了解的重要事項。

名為 "myfunction" 的函數和名為 "myfunction" 的函數是兩個不同的函數,同樣,變量 "myvar" 和變量 "myvar" 也是不同的。

javascript 對大小寫敏感 - 是以當您建立或使用變量、對象及函數時,請注意字元的大小寫。

javascript 會忽略多餘的空格。是以您可以在代碼中添加适當的空格,使得代碼的可讀性更強。下面的兩行是等效的:

您可以在文本字元串内部使用反斜杠對代碼進行折行。下面的例子是正确的:

但是不能像這樣折行:

javascript 是面向對象的程式設計語言 (oop)。

oop 語言使我們有能力自定義對象和變量類型。

javascript 是面向對象的程式設計語言 (oop)。oop 語言使我們有能力定義自己的對象和變量類型。

别着急,我們會在進階 javascript 的部分講解如何建立自己的對象。現在,我們要開始學習内建的 javascript 對象,以及如何使用它們。從下一節開始,我們将具體地依次講解的這些内建的 javascript 對象。

注意:對象隻是一種特殊的資料。對象擁有屬性和方法。

屬性指與對象有關的值。

在下面的例子中,我們使用字元串對象的長度屬性來計算字元串中的字元數目。

上面的代碼輸出為:

方法指對象可以執行的行為(或者可以完成的功能)。

在下面的例子中,我們使用字元串對象的 touppercase() 方法來顯示大寫字母文本。

string 對象用于處理文本(字元串)。

參數 s 是要存儲在 string 對象中或轉換成原始字元串的值。

當 string() 和運算符 new 一起作為構造函數使用時,它傳回一個新建立的 string 對象,存放的是字元串 s 或 s 的字元串表示。

當不用 new 運算符調用 string() 時,它隻把 s 轉換成原始的字元串,并傳回轉換後的值。

ff: firefox, ie: internet explorer

描述

constructor

對建立該對象的函數的引用

length

字元串的長度

prototype

允許您向對象添加屬性和方法

方法

anchor()

建立 html 錨。

big()

用大号字型顯示字元串。

blink()

顯示閃動字元串。

bold()

使用粗體顯示字元串。

charat()

傳回在指定位置的字元。

charcodeat()

傳回在指定的位置的字元的 unicode 編碼。

concat()

連接配接字元串。

fixed()

以打字機文本顯示字元串。

fontcolor()

使用指定的顔色來顯示字元串。

fontsize()

使用指定的尺寸來顯示字元串。

fromcharcode()

從字元編碼建立一個字元串。

indexof()

檢索字元串。

italics()

使用斜體顯示字元串。

lastindexof()

從後向前搜尋字元串。

link()

将字元串顯示為連結。

localecompare()

用本地特定的順序來比較兩個字元串。

match()

找到一個或多個正在表達式的比對。

replace()

替換與正規表達式比對的子串。

search()

檢索與正規表達式相比對的值。

slice()

提取字元串的片斷,并在新的字元串中傳回被提取的部分。

small()

使用小字号來顯示字元串。

split()

把字元串分割為字元串數組。

strike()

使用删除線來顯示字元串。

sub()

把字元串顯示為下标。

substr()

從起始索引号提取字元串中指定數目的字元。

substring()

提取字元串中兩個指定的索引号之間的字元。

sup()

把字元串顯示為上标。

tolocalelowercase()

把字元串轉換為小寫。

-

tolocaleuppercase()

把字元串轉換為大寫。

tolowercase()

touppercase()

tosource()

代表對象的源代碼。

tostring()

傳回字元串。

valueof()

傳回某個字元串對象的原始值。

字元串是 javascript 的一種基本的資料類型。

string 對象的 length 屬性聲明了該字元串中的字元數。

string 類定義了大量操作字元串的方法,例如從字元串中提取字元或子串,或者檢索字元或子串。

需要注意的是,javascript 的字元串是不可變的(immutable),string 類定義的方法都不能改變字元串的内容。像 string.touppercase() 這樣的方法,傳回的是全新的字元串,而不是修改原始字元串。

在較早的 netscape 代碼基的 javascript 實作中(例如 firefox 實作中),字元串的行為就像隻讀的字元數組。例如,從字元串 s 中提取第三個字元,可以用 s[2] 代替更加标準的 s.charat(2)。此外,對字元串應用 for/in 循環時,它将枚舉字元串中每個字元的數組下标(但要注意,ecmascript 标準規定,不能枚舉 length 屬性)。因為字元串的數組行為不标準,是以應該避免使用它。

date 對象用于處理日期和時間。

注釋:date 對象會自動把目前日期和時間儲存為其初始值。

傳回對建立此對象的 date 函數的引用。

使您有能力向對象添加屬性和方法。

date()

傳回當日的日期和時間。

getdate()

從 date 對象傳回一個月中的某一天 (1 ~ 31)。

getday()

從 date 對象傳回一周中的某一天 (0 ~ 6)。

getmonth()

從 date 對象傳回月份 (0 ~ 11)。

getfullyear()

從 date 對象以四位數字傳回年份。

getyear()

請使用 getfullyear() 方法代替。

gethours()

傳回 date 對象的小時 (0 ~ 23)。

getminutes()

傳回 date 對象的分鐘 (0 ~ 59)。

getseconds()

傳回 date 對象的秒數 (0 ~ 59)。

getmilliseconds()

傳回 date 對象的毫秒(0 ~ 999)。

gettime()

傳回 1970 年 1 月 1 日至今的毫秒數。

gettimezoneoffset()

傳回本地時間與格林威治标準時間 (gmt) 的分鐘差。

getutcdate()

根據世界時從 date 對象傳回月中的一天 (1 ~ 31)。

getutcday()

根據世界時從 date 對象傳回周中的一天 (0 ~ 6)。

getutcmonth()

根據世界時從 date 對象傳回月份 (0 ~ 11)。

getutcfullyear()

根據世界時從 date 對象傳回四位數的年份。

getutchours()

根據世界時傳回 date 對象的小時 (0 ~ 23)。

getutcminutes()

根據世界時傳回 date 對象的分鐘 (0 ~ 59)。

getutcseconds()

根據世界時傳回 date 對象的秒鐘 (0 ~ 59)。

getutcmilliseconds()

根據世界時傳回 date 對象的毫秒(0 ~ 999)。

parse()

傳回1970年1月1日午夜到指定日期(字元串)的毫秒數。

setdate()

設定 date 對象中月的某一天 (1 ~ 31)。

setmonth()

設定 date 對象中月份 (0 ~ 11)。

setfullyear()

設定 date 對象中的年份(四位數字)。

setyear()

請使用 setfullyear() 方法代替。

sethours()

設定 date 對象中的小時 (0 ~ 23)。

setminutes()

設定 date 對象中的分鐘 (0 ~ 59)。

setseconds()

設定 date 對象中的秒鐘 (0 ~ 59)。

setmilliseconds()

設定 date 對象中的毫秒 (0 ~ 999)。

settime()

以毫秒設定 date 對象。

setutcdate()

根據世界時設定 date 對象中月份的一天 (1 ~ 31)。

setutcmonth()

根據世界時設定 date 對象中的月份 (0 ~ 11)。

setutcfullyear()

根據世界時設定 date 對象中的年份(四位數字)。

setutchours()

根據世界時設定 date 對象中的小時 (0 ~ 23)。

setutcminutes()

根據世界時設定 date 對象中的分鐘 (0 ~ 59)。

setutcseconds()

根據世界時設定 date 對象中的秒鐘 (0 ~ 59)。

setutcmilliseconds()

根據世界時設定 date 對象中的毫秒 (0 ~ 999)。

傳回該對象的源代碼。

把 date 對象轉換為字元串。

totimestring()

把 date 對象的時間部分轉換為字元串。

todatestring()

把 date 對象的日期部分轉換為字元串。

togmtstring()

請使用 toutcstring() 方法代替。

toutcstring()

根據世界時,把 date 對象轉換為字元串。

tolocalestring()

根據本地時間格式,把 date 對象轉換為字元串。

tolocaletimestring()

根據本地時間格式,把 date 對象的時間部分轉換為字元串。

tolocaledatestring()

根據本地時間格式,把 date 對象的日期部分轉換為字元串。

utc()

根據世界時傳回 1970 年 1 月 1 日 到指定日期的毫秒數。

傳回 date 對象的原始值。

繼續閱讀