數(shù)據(jù)類型、常量與變量課件_第1頁
數(shù)據(jù)類型、常量與變量課件_第2頁
數(shù)據(jù)類型、常量與變量課件_第3頁
數(shù)據(jù)類型、常量與變量課件_第4頁
數(shù)據(jù)類型、常量與變量課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)類型、常量與變量第2章 數(shù)據(jù)類型、常量與變量 在計(jì)算機(jī)程序中都是通過值(value)來進(jìn)行運(yùn)算的,能夠表示并操作值的類型為數(shù)據(jù)類型。在本章里將會(huì)介紹JavaScript中的常量(literal)、變量(variable)和數(shù)據(jù)類型(data type)。數(shù)據(jù)類型、常量與變量2.1 基本數(shù)據(jù)類型 JavaScript中支持?jǐn)?shù)字、字符串和布爾值三種基本數(shù)據(jù)類型,以下是對這三種基本數(shù)據(jù)類型的介紹。數(shù)據(jù)類型、常量與變量2.1.1 字符串型 字符串型是JavaScript中用來表示文本的數(shù)據(jù)類型,是由Unicode字符、數(shù)字和標(biāo)點(diǎn)符號(hào)組成的一個(gè)字符串序列。字符串通常都是用單引號(hào)或雙引號(hào)括起來的。如果

2、在字符串中包括著特殊字符,可以使用轉(zhuǎn)義字符來代替。數(shù)據(jù)類型、常量與變量2.1.2 數(shù)字型 數(shù)字型也是JavaScript中的基本數(shù)據(jù)類型。在JavaScript中的數(shù)字不區(qū)分整型和浮點(diǎn)型,所有的數(shù)字都是以浮點(diǎn)型來表示的。JavaScript中的數(shù)字的有效范圍大約為10-30810308之間。數(shù)據(jù)類型、常量與變量2.1.3 布爾型 布爾型比較簡單,只有兩個(gè)值,即代表真的“true”和代表假的“false”。布爾值通常是通過比較得來的,如以下代碼: x 2 在上面代碼中,如果x等于2,則返回true,如果x不等于2,則返回false。數(shù)據(jù)類型、常量與變量2.2 復(fù)合數(shù)據(jù)類型 除了基本的數(shù)據(jù)類型之外

3、,JavaScript還支持復(fù)合數(shù)據(jù)類型,復(fù)合數(shù)據(jù)類型包括對象和數(shù)組兩種。數(shù)據(jù)類型、常量與變量2.2.1 對象 對象其實(shí)就是一些數(shù)據(jù)的集合,這些數(shù)據(jù)可以是字符串型、數(shù)字型、布爾型,也可以是復(fù)合型。對象中的數(shù)據(jù)是已命名的數(shù)據(jù),通常作為對象的屬性來引用。例如一個(gè)超鏈接(Link)對象有一個(gè)名為text的屬性,可以通過以下方法來引用: link.text JavaScript中的對象除了擁有屬性之外,還可以擁有方法。例如一個(gè)窗口(Window)對象有一個(gè)名為alert的方法,可以通過以下方法來引用: window.alert(message)數(shù)據(jù)類型、常量與變量2.2.2 數(shù)組 數(shù)組與對象一樣,也是

4、一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串型、數(shù)字型、布爾型,或者是復(fù)合型。與對象不同的,數(shù)組中的數(shù)據(jù)并沒有被命名,即數(shù)組的中數(shù)據(jù)沒有名字,因此不能通過名字來引用該數(shù)據(jù)。在數(shù)組中為每個(gè)數(shù)據(jù)都編了一個(gè)號(hào),這個(gè)號(hào)稱為數(shù)組的下標(biāo)。在JavaScript中數(shù)組的下標(biāo)是從0開始,通過使用數(shù)組名加下標(biāo)的方法可以獲取數(shù)組中的某個(gè)數(shù)據(jù)。如以下代碼分別獲取名為abc數(shù)組的第1個(gè)和第3個(gè)數(shù)據(jù): abc0 abc1數(shù)據(jù)類型、常量與變量2.3 其他數(shù)據(jù)類型 除了基本數(shù)據(jù)類型與復(fù)合數(shù)據(jù)類型之外,JavaScript還支持函數(shù)、Null與Undefined三種其他數(shù)據(jù)類型。數(shù)據(jù)類型、常量與變量2.3.1 函數(shù) 函數(shù)(func

5、tion)是一段可執(zhí)行的JavaScript代碼,函數(shù)具有一次定義多次使用的特點(diǎn)。在JavaScript中的函數(shù)可以帶有0個(gè)或多個(gè)參數(shù)。在函數(shù)體中執(zhí)行完JavaScript代碼之后,也可以返回一個(gè)或不返回值。在JavaScript中提供了很多預(yù)定義的函數(shù),如用于檢測非數(shù)字值的isNaN()函數(shù)、用于計(jì)算平方根的Math.sqrt()函數(shù)等等。其使用方法如下所示: var bFlag = isNaN(0/0); var x = Math.sqrt(100);數(shù)據(jù)類型、常量與變量2.3.2 null null是一個(gè)特殊的數(shù)據(jù)類型,其所代表的意思為“空”。需要注意,這個(gè)“空”并不代表是0或空字符串。

6、數(shù)字0代表的是數(shù)字,是數(shù)字型的數(shù)據(jù);空字符串代表的是長度為0的字符串,是字符串類型的數(shù)據(jù)。而null代表沒有值,不是一個(gè)有效的數(shù)字、字符串,也不是數(shù)組、對象和函數(shù),什么數(shù)據(jù)類型都不是。數(shù)據(jù)類型、常量與變量2.3.3 undefined undefined也是一個(gè)特殊的數(shù)據(jù)類型,只有定義了一個(gè)變量但沒有為該變量賦值、使用了一個(gè)并未定義的變量、或者是使用了一個(gè)不存的對象的屬性時(shí),JavaScript才會(huì)返回undefined。數(shù)據(jù)類型、常量與變量2.4 數(shù)據(jù)類型的轉(zhuǎn)換 JavaScript支持字符串型、數(shù)字型、布爾型等數(shù)據(jù)類型,當(dāng)這些數(shù)據(jù)類型之間需要進(jìn)行運(yùn)算時(shí),就必須將不同的數(shù)據(jù)類型轉(zhuǎn)換為相同的數(shù)

7、據(jù)類型。數(shù)據(jù)類型、常量與變量2.4.1 隱式類型轉(zhuǎn)換 JavaScript是一種無類型(notype)的語言,這種“無類型”并不是指JavaScript沒有數(shù)據(jù)類型,而是指JavaScript是一種松散類型、動(dòng)態(tài)類型的語言。因此,在JavaScript中定義一個(gè)變量時(shí),是不需要指定變量的數(shù)據(jù)類型,這就使得JavaScript可以很方便靈活地進(jìn)行隱式類型轉(zhuǎn)換。數(shù)據(jù)類型、常量與變量2.4.2 顯式類型轉(zhuǎn)換 在JavaScript中除了可以隱式轉(zhuǎn)換數(shù)據(jù)類型之外,還可以顯式轉(zhuǎn)換數(shù)據(jù)類型。顯式轉(zhuǎn)換數(shù)據(jù)類型,可以增強(qiáng)代碼的可讀性。顯式類型轉(zhuǎn)換的方法有以下兩種: 2.4.2.1 將對象轉(zhuǎn)換成字符串 2.4.

8、2.2 基本數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型、常量與變量2.5 常量 常量(Literals)通常用來表示一個(gè)固定的值,這個(gè)值是不會(huì)被改變的,在JavaScript中常量分為布爾常量、整數(shù)常量、浮點(diǎn)常量、字符串常量和數(shù)組常量五種。常量可以直接出現(xiàn)在JavaScript的程序中。數(shù)據(jù)類型、常量與變量2.5.1 整數(shù)常量 在JavaScript中的數(shù)字可以分為整數(shù)與浮點(diǎn)數(shù)兩種。當(dāng)一個(gè)整數(shù)直接出現(xiàn)在JavaScript程序中時(shí),這個(gè)整數(shù)就是整數(shù)常量。在JavaScript中整數(shù)常量又可以分為以下三種: (1)十進(jìn)制整數(shù): (2)八進(jìn)制整數(shù): (3)十六進(jìn)制整數(shù): 數(shù)據(jù)類型、常量與變量2.5.2 浮點(diǎn)常量 浮點(diǎn)常

9、量可以包含小數(shù)點(diǎn),其表示方法有以下兩種: (1)傳統(tǒng)記數(shù)法:傳統(tǒng)記數(shù)法是將一個(gè)浮點(diǎn)數(shù)分為三個(gè)部分, (2)科學(xué)記數(shù)法:當(dāng)一個(gè)數(shù)字很大或很小的時(shí)候,可以使用科學(xué)記數(shù)法來表示。數(shù)據(jù)類型、常量與變量2.5.3 字符串常量 字符串是由單引號(hào)()或雙引號(hào)()括起來的字符序列。其中字符序列的個(gè)數(shù)可以是零個(gè)或多個(gè)。單引號(hào)所括起來的字符序列里可以包括雙引號(hào),而雙引號(hào)所括起來的字符序列里也可以包含單引號(hào)。字符串常量必須寫在一行中,如果換行的話,JavaScript會(huì)認(rèn)為是兩個(gè)語句而產(chǎn)生錯(cuò)誤。數(shù)據(jù)類型、常量與變量2.5.4 字符串中的轉(zhuǎn)義字符 上一節(jié)中提到字符串常量必須使用單引號(hào)或雙引號(hào)括起來,如果一個(gè)字符串本身

10、包含了單引號(hào)或雙引號(hào),那應(yīng)該怎么辦?假設(shè)一個(gè)字符串如下所示: JavaScript中可以包含單引號(hào)()或雙引號(hào)()數(shù)據(jù)類型、常量與變量2.5.5 布爾常量 布爾常量是比較簡單的一種常量,只有兩種值,一種是true(真),一種是false(假)。在有些時(shí)候,JavaScript也可以把0和1分別看成false和true。布爾常量常用于條件判斷語句中。數(shù)據(jù)類型、常量與變量2.5.6 數(shù)組常量 數(shù)組就是一些數(shù)據(jù)的集合,在JavaScript中數(shù)組中的數(shù)據(jù)可以是任何數(shù)據(jù)類型,包括數(shù)組。數(shù)組的定義方法如下所示:數(shù)組名 = 數(shù)組值1 , 數(shù)組值2 , 數(shù)組值3 數(shù)據(jù)類型、常量與變量2.6 變量 變量(va

11、riable)是相對常量而言的,常量通常是一個(gè)不會(huì)改變的固定值,而變量是對應(yīng)到某個(gè)值的一個(gè)符號(hào),這個(gè)符號(hào)中的值可能會(huì)隨著程序的執(zhí)行而改變,因此稱為“變量”。在很多情況下,變量又稱為標(biāo)識(shí)符(identifier)。數(shù)據(jù)類型、常量與變量2.6.1 變量的命名方式 變量可以用來存儲(chǔ)數(shù)據(jù),JavaScript中是通過變量名來調(diào)用這些被存儲(chǔ)的數(shù)據(jù)。變量名必須以ASCII字符或下劃線(_)開頭,第1個(gè)字母不能是數(shù)字,但其后可以是數(shù)字或其他字母。數(shù)據(jù)類型、常量與變量2.6.2 變量類型 JavaScript與其他程序語言之間有些區(qū)別,其他程序語言大多需要為變量指定一個(gè)數(shù)據(jù)類型,例如將一個(gè)變量指定為整數(shù)型,那

12、么這個(gè)變量就只能存儲(chǔ)整數(shù)型數(shù)據(jù),不可以存儲(chǔ)浮點(diǎn)型或其他類型的數(shù)據(jù)。而JavaScript中的變量是沒有類型(notype)的,這就意味著在JavaScript中的變量可以是任何一種數(shù)據(jù)類型。數(shù)據(jù)類型、常量與變量2.6.3 定義變量 在JavaScript中,使用一個(gè)變量之前,必須要先定義該變量。只有在定義了一個(gè)變量之后,系統(tǒng)才會(huì)準(zhǔn)備一個(gè)內(nèi)存空間來存儲(chǔ)這個(gè)變量的值,而程序員可以通過變量名來存儲(chǔ)或讀取變量的值。在JavaScript中可以使用關(guān)鍵字var來定義一個(gè)變量。數(shù)據(jù)類型、常量與變量2.6.4 定義變量的注意事項(xiàng) 雖然在JavaScript中定義變量是一件十分簡單的事情,但是在定義變量時(shí),有

13、以下幾點(diǎn)是需要注意的: 2.6.4.1 重復(fù)定義變量 2.6.4.2 變量必須要先定義后使用 2.6.4.3 給未定義的變量賦值 2.6.4.4 引用未賦值的變量數(shù)據(jù)類型、常量與變量2.6.5 變量的值由于JavaScript的變量不需要指定數(shù)據(jù)類型,因此變量值可以是任何類型的數(shù)據(jù),包括:數(shù)字型(number):整數(shù)型或浮點(diǎn)數(shù),如:123或12.3。布爾型:又稱邏輯型(logical),只能是true或false。字符串型(string):用單引號(hào)或雙引號(hào)括起來的字符串??罩担╪ull):這是一種特殊的類型,表示沒有值,即該變量為空。未定義值(undefined):表示變量還沒有被賦值。數(shù)據(jù)類

14、型、常量與變量2.6.6 變量的有效范圍 變量可以根據(jù)其有效范圍分為全局變量與局部變量兩種。其中全局(global)變量從定義開始,到整個(gè)JavaScript代碼結(jié)束為止,都可以使用;而局部(local)變量只有在函數(shù)內(nèi)部里才生效。(具體內(nèi)容請參照書。)數(shù)據(jù)類型、常量與變量2.6.7 使用變量的注意事項(xiàng) 在使用變量的時(shí)候,有以下幾點(diǎn)是需要注意的: 2.6.7.1 變量的優(yōu)先級(jí) 2.6.7.2 在函數(shù)體內(nèi)定義全局變量 2.6.7.3 嵌套函數(shù)體中的變量的有效范圍 2.6.7.4 局部變量在整個(gè)函數(shù)體內(nèi)都有效數(shù)據(jù)類型、常量與變量2.7 保留字 在為變量命名時(shí),是不能與JavaScript中的保留字

15、同名。因?yàn)檫@些保留字對于JavaScript來說具有特殊意義,是JavaScript語法中的一部分。事實(shí)上,保留字不但不能用作變量名,也不能用作函數(shù)名以及循環(huán)標(biāo)簽。數(shù)據(jù)類型、常量與變量2.7.1 JavaScript中的保留字 在JavaScript中一共有28個(gè)保留字,表2-2列出了所有的JavaScript中的保留字,這些保留字不能用作變量名、函數(shù)名以及循環(huán)標(biāo)簽。(具體內(nèi)容請參照書。)數(shù)據(jù)類型、常量與變量2.7.2 ECMA中的保留字 除了JavaScript中的保留字之外,表2-3中是ECMAScript擴(kuò)展的保留字。使用這些保留字是ECMAScript用來作為擴(kuò)展語言所用的,在JavaScript中不會(huì)阻止程序員使用這些保留字作標(biāo)識(shí)符,但是應(yīng)該盡量避免使用。(具體內(nèi)容請參照書。)數(shù)據(jù)類型、常量與變量2.7.3 避免使用的字符串 除了JavaScript中的保留字不能做標(biāo)識(shí)符、ECMA中的保留字不建議標(biāo)識(shí)符之外,表2-4中的字符串也盡量不要用來當(dāng)作標(biāo)識(shí)符使用,因?yàn)檫@些字符串都是JavaScript與ECMAScript中的全局變量名或全局函數(shù)名。如果使用這些字符串作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論