JavaScript+jQuery前端開發(fā)基礎教程(第2版)(微課版)課件 劉凡馨 第1章 JavaScript基礎;第2章 JavaScript核心語法基礎_第1頁
JavaScript+jQuery前端開發(fā)基礎教程(第2版)(微課版)課件 劉凡馨 第1章 JavaScript基礎;第2章 JavaScript核心語法基礎_第2頁
JavaScript+jQuery前端開發(fā)基礎教程(第2版)(微課版)課件 劉凡馨 第1章 JavaScript基礎;第2章 JavaScript核心語法基礎_第3頁
JavaScript+jQuery前端開發(fā)基礎教程(第2版)(微課版)課件 劉凡馨 第1章 JavaScript基礎;第2章 JavaScript核心語法基礎_第4頁
JavaScript+jQuery前端開發(fā)基礎教程(第2版)(微課版)課件 劉凡馨 第1章 JavaScript基礎;第2章 JavaScript核心語法基礎_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

JavaScript+jQuery前端開發(fā)基礎教程微課版第1章JavaScript基礎

本章主要內(nèi)容:JavaScript簡介JavaScript編程工具在HTML中使用JavaScriptJavaScript基本語法1.1JavaScript簡介JavaScript是一種輕量的解釋型編程語言,具有面向?qū)ο蟮奶攸c,在Web應用中得到廣泛使用。所有現(xiàn)代Web瀏覽器(如Edge、Firefox、Chrome等,后文統(tǒng)稱為瀏覽器)都包含了JavaScript解釋器,所以都支持JavaScript腳本。嵌入HTML文檔的JavaScript稱為客戶端的JavaScript,通常簡稱為JavaScript。當然,JavaScript并不局限于瀏覽器客戶端腳本編寫,也可用于服務器、PC客戶端和移動客戶端等的應用編寫。1.1.1JavaScript版本JavaScript最初由Netscape(網(wǎng)景通信)公司的BrendanEich(布倫丹

?

艾希)研發(fā)。起初,該語言被稱為Mocha,但在1995年9月更名為LiveScript,最后在12月,Netscape公司與SunMicrosystems(太陽微系統(tǒng))公司聯(lián)合發(fā)布的聲明中,它被命名為JavaScript,也就是JavaScript1.0。實現(xiàn)了JavaScript1.0的NetscapeNavigator瀏覽器2.0版幾乎壟斷了當時的瀏覽器市場。因為JavaScript1.0的巨大成功,Netscape公司在NetscapeNavigator瀏覽器3.0版中實現(xiàn)了JavaScript1.1。Microsoft公司在進軍瀏覽器市場后,在InternetExplorer(簡稱IE)3.0中實現(xiàn)了一個JavaScript的克隆版本,并命名為JScript。在Microsoft加入后,有3種不同的JavaScript版本同時存在:NetscapeNavigator中的JavaScript、IE中的JScript以及CEnvi中的ScriptEase。這3種JavaScript的語法和特性并沒有統(tǒng)一。1997年,JavaScript1.1作為一個草案提交給歐洲計算機制造商協(xié)會(EuropeanComputerManufacturesAssociation,ECMA)。之后,由來自Netscape、SunMicrosystems、Microsoft、Borland公司和其他一些對腳本語言感興趣的程序員組成的TC39團體推出了JavaScript的“ECMA-262”標準,該標準將腳本語言名稱定義為ECMAScript。該標準也被國際標準化組織(InternationalOrganizationforStandardization,ISO)及國際電工委員會(InternationalElectrotechnicaCommission,IEC)采納,作為各種瀏覽器的JavaScript語言標準。因此,JavaScript成了事實上的名稱,ECMAScript代表了其語言標準。1.1.2JavaScript特點JavaScript具有下列主要特點。解釋性:瀏覽器內(nèi)置了JavaScript解釋器。在瀏覽器中打開HTML文檔時,其中的JavaScript代碼直接被解釋執(zhí)行。支持對象:可自定義對象,也可使用各種內(nèi)置對象。事件驅(qū)動:事件驅(qū)動使JavaScript能夠響應用戶操作,而不需要Web服務器端處理。例如,當用戶輸入E-mail地址時,可在輸入事件處理函數(shù)中檢查輸入的合法性。1.1.2JavaScript特點跨平臺:JavaScript腳本運行于JavaScript解釋器,配置了JavaScript解釋器的平臺均能執(zhí)行JavaScript腳本。安全性:客戶端JavaScript腳本不允許訪問本地磁盤,不能將數(shù)據(jù)寫入服務器,也不能對網(wǎng)絡文檔進行修改和刪除,只能通過瀏覽器實現(xiàn)信息的瀏覽和動態(tài)展示。Node.js作為一個服務器端JavaScript運行環(huán)境,可讓JavaScript成為類似于PHP、Python、Ruby等的服務器端腳本語言,可讓JavaScript程序?qū)崿F(xiàn)讀寫文件、執(zhí)行子進程以及網(wǎng)絡通信等功能。1.2JavaScript編程工具JavaScript腳本需要嵌入HTML文檔,可使用各種工具來編寫JavaScript腳本。最簡單的工具是Windows的記事本。常用的Web集成開發(fā)工具有VisualStudioCode(簡稱VSCode)、AdobeDreamweaver、Eclipse和IntelliJIDEA等。集成開發(fā)工具通常具有語法高亮、自動完成、錯誤檢測等功能。本書使用的VSCode是Microsoft推出的免費集成開發(fā)工具。1.2.1安裝VSCode演示過程1.2.2使用VSCode演示:在VSCode中創(chuàng)建HTML文檔1.2.3使用瀏覽器開發(fā)人員工具演示1.3.1嵌入式JavaScript腳本嵌入式JavaScript腳本指直接在HTML文檔中包含JavaScript腳本,可使用下面的3種方法實現(xiàn)嵌入式JavaScript腳本。使用<script>標記。作為事件處理程序。作為URL。在HTML中使用JavaScript在HTML文檔中,可通過兩種方式使用JavaScript腳本:嵌入鏈接1.使用<script>標記嵌入JavaScript腳本HTML文檔中的JavaScript腳本放在<script>和</script>標記之間。<script>標記放在

HTML

文檔的<head>或<body>部分,當然也可放在其他位置。<script>標記內(nèi)可包括任意多條JavaScript語句,語句按照先后順序依次執(zhí)行,語句的執(zhí)行過程也是瀏覽器加載HTML文檔過程的一部分。除了函數(shù)內(nèi)部的代碼外,瀏覽器在掃描到JavaScript語句時就會立即執(zhí)行該語句。函數(shù)內(nèi)部的代碼在調(diào)用函數(shù)時執(zhí)行。一個HTML文檔可以包含任意多個<script>標記,<script>不能嵌套和交叉。不管有多少個<script>標記,對HTML文檔而言,它們包含的JavaScript語句組成一個JavaScript程序。在一個<script>標記中定義的變量和函數(shù),可在后續(xù)的<script>標記中使用。language和type屬性<script>標記的language和type屬性(前者已被后者取代)可用于指定腳本使用的編程語言及其版本。<script

language="javascript"></script><script

language="javascript

1.5"></script><script

type="text/vbscript"></script>腳本語言及其版本被指定后,如果瀏覽器不支持,則會忽略<script>標記內(nèi)的腳本代碼。早期的腳本語言除了JavaScript外,還有VBScript。目前,絕大多數(shù)新的瀏覽器不再支持VBScript。JavaScript已成為事實上的唯一客戶端HTML腳本編程語言。所以,可不在<script>標記中指定腳本語言。</script>標記</script>標記表示一段腳本的結束。不管</script>標記出現(xiàn)在何處,瀏覽器均將其視為腳本的結束標記。<script>

document.write("<script>")

document.write("document.write('頁面中輸出腳本')")

document.write("</script>")

</script>defer屬性在<script>標記中使用defer屬性時,文檔加載完成后瀏覽器才執(zhí)行腳本。<script

defer></script>當然,如果在腳本中有內(nèi)容輸出到頁面,defer屬性會被忽略,腳本立即執(zhí)行。2.作為事件處理程序JavaScript腳本代碼可直接作為事件處理程序代碼。例如:<input

type="button"

value="請單擊按鈕"

onclick="a

=

1;

b

=

2;alert('單擊按鈕執(zhí)行JavaScript語句彈出對話框\na+b='+(a+b))"/>3.作為URL在HTML文檔中,使用“javascript”作為協(xié)議名稱時,可將JavaScript語句作為URL使用。在訪問該URL時,JavaScript語句被執(zhí)行。例如:<a

href="javascript:a

=

1;

b

=

2;alert('單擊鏈接執(zhí)行JavaScript語句彈出對話框\na+b='+(a+b))">

請單擊此鏈接

</a>1.3.2鏈接JavaScript腳本<script>標記的src屬性用于指定鏈接的外部腳本文件。通常,基于下列原因?qū)avaScript腳本放在外部文件中。腳本代碼較長,移出HTML文檔后,可簡化HTML文檔。腳本中的代碼和函數(shù)需要在多個HTML文檔間共享。將共享代碼放在單個腳本文件中可節(jié)約磁盤空間,利于代碼維護。多個HTML文檔共享的函數(shù)在第1次被調(diào)用時,該函數(shù)被緩存,后續(xù)HTML文檔可直接使用緩存中的函數(shù),加快網(wǎng)頁加載速度。<script>標記的src屬性值可以是任意的URL。這意味著可使用來自Web服務器的JavaScript腳本文件,或者是由服務器腳本動態(tài)輸出的腳本。獨立的JavaScript腳本文件擴展名通常為“.js”,“.js”文件只包含JavaScript代碼,沒有<script>和HTML標記。瀏覽器會將文件中的代碼插入<script>和</script>標記之間。

<script

src="test1-5.js"></script>1.4JavaScript基本語法1.4.1區(qū)分大小寫JavaScript對大小寫敏感,使用過程中需要嚴格區(qū)分關鍵字、變量、函數(shù)以及其他標識符的大小寫。

<script>

a

=

100

A

=

200

document.write(a)

document.write("<br>")

document.write(A

)

</script>1.4.2可忽略空格、換行符和制表符JavaScript會忽略代碼中不屬于字符串的空格、換行符和制表符。通常,空格、換行符和制表符用于幫助代碼排版,方便閱讀程序。

<script>

a

=

100

document.

write(a)

</script>1.4.3不強制使用語句結束符號JavaScript并不強制要求語句末尾使用分號“;”來作為語句結束符號。JavaScript解釋器可自動識別語句結束。在某些時候,可使用分號將多條語句寫在同一行。<script>

a

=100;

document.write(a)</script>1.4.4注釋注釋是程序中的說明信息,幫助理解代碼。腳本執(zhí)行時,注釋內(nèi)容會被忽略。JavaScript提供兩種注釋。//:單行注釋。//之后的內(nèi)容為注釋。/*……*/:多行注釋。在“/*”和“*/”之間的內(nèi)容為注釋,可以占據(jù)多個語句行。

<script>

/*

【例1-8】

在JavaScript腳本中使用注釋

下面的代碼用于說明JavaScript對大小寫敏感

*/

a

=

100

//變量賦值

A

=

200

//變量賦值

document.write(a)

//將變量值輸出到頁面

document.write("<br>")

//在頁面中輸出一個換行標記,將兩個變量值分開

document.write(A)

//將變量值輸出到頁面

</script>1.4.5標識符命名規(guī)則標識符用于命名JavaScript中的變量、函數(shù)或其他對象。JavaScript標識符命名規(guī)則與Java相同:第1個字符必須是字母、下劃線、美元符號或者漢字,后面的字符可以是字母、數(shù)字、下劃線或者漢字。JavaScript使用Unicode字符串,所以允許使用包含中文在內(nèi)的各國語言字符。例如,下面都是合法的標識符。A_data$pricevar1價格1.4.6輸入和輸出語句JavaScript常用的輸入和輸出語句如下。document.write(msg):將參數(shù)msg輸出到Web頁面的當前位置。console.log(msg):將參數(shù)msg輸出到瀏覽器控制臺。alert(msg):在瀏覽器中彈出警告對話框,參數(shù)msg作為警告信息顯示。prompt(msg):在瀏覽器中彈出輸入對話框,參數(shù)msg作為輸入提示信息顯示。1.5編程實踐:在頁面中輸出唐詩本節(jié)綜合應用本章所學知識,使用JavaScript腳本在Web頁面中輸出唐詩《靜夜思》,如圖1-29所示。JavaScript+jQuery前端開發(fā)基礎教程微課版第2章JavaScript核心語法基礎本章主要內(nèi)容:數(shù)據(jù)類型變量運算符和表達式流程控制語句2.1數(shù)據(jù)類型和變量程序中最基礎的元素是數(shù)據(jù)和變量。數(shù)據(jù)類型決定了程序如何存儲和處理數(shù)據(jù),變量則是數(shù)據(jù)的“存儲倉庫”。2.1.1數(shù)據(jù)類型JavaScript數(shù)據(jù)類型可分為兩類:基本類型和引用類型?;绢愋鸵卜Q原始數(shù)據(jù)類型,包括:number(數(shù)值)string(字符串)boolean(布爾值)null(空值)undefined(未定義)symbol(符號)引用類型也稱復雜數(shù)據(jù)類型,包括object(對象)和function(函數(shù))。函數(shù)實質(zhì)上是對象的子類型。1.數(shù)值常量在程序中直接使用的值稱為字面量或常量。數(shù)值常量支持十進制數(shù)、二進制數(shù)、八進制數(shù)和十六進制等記數(shù)形式。十進制:人們常用的記數(shù)進制,使用0~9的數(shù)碼表示數(shù)值。二進制:以0b開頭,使用0、1表示數(shù)值,例如:0b110、0b1001。八進制:以數(shù)字0或0o開頭,使用0~7等數(shù)碼表示數(shù)值,例如05、0o10、017。十六進制:以0x或0X開頭,使用0~9、a~f、A~F等數(shù)碼表示數(shù)值,例如0x5、0x1F。在Edge瀏覽器控制臺中輸入各種進制數(shù)據(jù),輸出為對應的十進制數(shù)ES2020(即ECMAScript2020)為JavaScript定義了一種新的數(shù)值類型bigint,用于表示64位整數(shù)。數(shù)值末尾的小寫字母n表示這是一個bigint值。例如:10n、0b110n、0x1Fn。數(shù)值常量包含小數(shù),例如2.25、1.7。如果整數(shù)部分為0,JavaScript允許省略小數(shù)點前面的0,如0.25可表示為.25。數(shù)值常量可用科學記數(shù)法表示,如1.25e-3、2.5E2。JavaScript的特殊數(shù)值Infinity:Infinity表示正無窮大,-Infinity表示負無窮大。在非零數(shù)值除以0時就會出現(xiàn)無窮大。當一個正值超出JavaScript的表示范圍時,其結果就是正無窮大。NaN:意思為“非數(shù)字”——NotaNumber,表示數(shù)值運算時出現(xiàn)了錯誤或者未知結果。例如,0除以0的結果為NaN。Number.MAX_VALUE:最大數(shù)值。Number.MIN_VALUE:最小數(shù)值。Number.NaN:NaN。Number.POSITIVE_INFINITY:Infinity。Number.NEGATIVE_INFINITY:-Infinity。2.字符串常量JavaScript使用Unicode字符集。字符串常量指用英文的雙引號(")或單引號(')括起來的一串Unicode字符,如"Java"或'15246'。只能成對使用單引號或雙引號作為字符串定界符,不能使用一個單引號和一個雙引號。如果需要在字符串中包含單引號或雙引號,則應用另一個作為字符串定界符或者使用轉(zhuǎn)義字符。例如,"Ilike'JavaScript'"。字符串中可以使用轉(zhuǎn)義字符,轉(zhuǎn)義字符以“\”開始。例如,“\n”表示換行符,“\r”表示回車符。表2-1列出了JavaScript的轉(zhuǎn)義字符。3.布爾型常量布爾型常量只有兩個:true和false(注意必須小寫)。4.nullnull在JavaScript中表示空值。5.undefined用var聲明一個變量后,其默認值為undefined。var

adocument.write(a)

//輸出結果為undefined6.類型測試typeof運算符可測試數(shù)據(jù)的類型。typeof(123)

//結果為number需要特別說明的是:typeof(null)結果為object,正確的結果應該是null。這是JavaScript由來已久的一個bug,修復這個bug可能會產(chǎn)生更多的bug,導致現(xiàn)有的很多Web系統(tǒng)無法使用。所以,JavaScript一直未修復這個bug。2.1.2數(shù)據(jù)類型轉(zhuǎn)換JavaScript中的數(shù)據(jù)類型轉(zhuǎn)換包括隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換。1.隱式類型轉(zhuǎn)換當JavaScript執(zhí)行代碼需要特定類型的數(shù)據(jù),而提供的不是該類型的數(shù)據(jù)時,JavaScript就會根據(jù)需要轉(zhuǎn)換數(shù)據(jù)的類型,這就是隱式類型轉(zhuǎn)換。5

+

'x'

//結果為'5x':數(shù)值5轉(zhuǎn)換為字符串5

-

'3'

//結果為2:字符串'3'轉(zhuǎn)換為數(shù)值true

+

'Abc'

//結果為'trueAbc',布爾值true轉(zhuǎn)換為字符串2.顯式類型轉(zhuǎn)換顯式類型轉(zhuǎn)換指使用Number()、String()和Boolean()等函數(shù)轉(zhuǎn)換類型。Number('2.5')

//轉(zhuǎn)化為數(shù)值,結果為2.5String(-5)

//轉(zhuǎn)換為字符串,結果為'-5'Boolean(-5)

//轉(zhuǎn)換為布爾值,結果為true2.1.3變量

1.變量聲明JavaScript要求變量在使用之前必須進行聲明,可使用var、let和const聲明變量。var

a,blet

xconst

PI=3.14const聲明的變量可稱為自定義常量,必須賦初始值,不能更改const所聲明變量的值。var聲明的全局變量是Window對象的一個屬性,let和const聲明的變量不是。變量和變量值之間為引用關系,變量引用變量值。const聲明的變量和變量值之間為常量引用,即不能改變這種引用關系;如果引用的是對象,對象本身是允許改變的。const

PI=3.14

//聲明PI引用常量3.14PI=3.14156

//錯誤,試圖令PI引用另一個常量const

a=[1,2,3]

//聲明a引用數(shù)組[1,2,3]a[0]='abc'

//正確,修改數(shù)組的第一個元素值,數(shù)組變?yōu)閇'abc',

2,

3],引用關系不變a=[2,3]

//錯誤,試圖令a引用另一個數(shù)組可以在聲明的同時給變量賦值。var

a=100,b=200“=”表示賦值。一種特殊情況是直接給一個未聲明的變量賦值。ab

=

100此時,JavaScript會隱式地對變量ab進行聲明。JavaScript允許重復聲明變量。var

a

=

100var

a

=

"abc"重復聲明時,如果沒有為變量賦值,則變量的值不變。var

a

=

100var

a

//a的值還是1002.變量的數(shù)據(jù)類型JavaScript是一種弱類型語言,即不強制規(guī)定變量的數(shù)據(jù)類型。存入變量的數(shù)據(jù)決定其數(shù)據(jù)類型。可以給一個變量賦不同類型的值。3.變量的作用范圍作用范圍(也稱作用域)是變量可使用的代碼區(qū)域,可分為全局作用域和局部作用域。根據(jù)作用范圍可將變量分為兩種:全局變量和局部變量。在JavaScript中,類、函數(shù)體、if語句體、switch語句體、for和while循環(huán)的循環(huán)體等可稱為代碼塊。粗略地講,代碼塊就是一對花括號“{}”內(nèi)的代碼。在代碼塊內(nèi)部使用let和const聲明的變量為局部變量,其作用范圍是當前代碼塊——當前代碼塊即為局部作用域。在所有代碼塊外部使用let和const聲明的變量為全局變量,其作用范圍是當前文檔的所有代碼——當前文檔為全局作用域。在函數(shù)體內(nèi)用var聲明的變量為局部變量,其作用范圍為當前函數(shù),可稱其為函數(shù)作用域;在函數(shù)體外部(即使在一對花括號內(nèi))用var聲明的變量為全局變量。如果一個局部變量和全局變量同名,則局部變量將屏蔽全局變量。給未聲明的變量賦值時,JavaScript默認將其聲明為全局變量。即使變量在函數(shù)內(nèi)部使用,只要沒有聲明,JavaScript就會將其聲明為全局變量。2.2運算符與表達式運算符用于完成運算,參與運算的數(shù)據(jù)稱為操作數(shù)。由操作數(shù)和運算符組成的式子稱為表達式。JavaScript中的運算可分為算術運算、字符串運算、關系運算、邏輯運算、位運算和賦值運算等。2.2.1算術運算符算術運算符用于執(zhí)行加法、減法、乘法、除法和求余等算術運算。表2-3列出了JavaScript的算術運算符。2.2.2字符串運算符在JavaScript中,可使用加號(+)將兩個字符串連接成一個字符串。x="I

like

"

+

"JavaScript"

//x的值為"I

like

JavaScript"加號既可表示加法,也可表示字符串連接,所以在使用時應注意。x=2+3+"abc"在上述語句中,按照從左到右的順序,先計算2+3(結果為5),再計算5+"abc",結果為"5abc"。x="abc"+2+3在上述語句中,按照從左到右的順序,先計算"abc"+2(結果為"abc2"),再計算"abc2"+3,結果為"abc23"。所以,當加號兩側都是數(shù)值時執(zhí)行算術加法運算;如果有一個操作數(shù)為字符串,加號執(zhí)行字符串連接。2.2.3關系運算符關系運算符用于比較操作數(shù)的大小關系,運算結果為布爾值true或false。由算術運算符和關系運算符(至少包含關系運算符)構成的表達式稱為關系表達式。相等運算符用于判斷兩個表達式的值是否相等。例如,3==5結果為false。一種特殊情況是,數(shù)字字符串和對應數(shù)值會被認為相等。例如,"5"==5結果為true。如果使用絕對相等運算符,只有在兩個數(shù)據(jù)的數(shù)據(jù)類型和值都相同時結果才為true。例如,"5"=

=

=5結果為false。關系運算符也可用于字符串比較。當兩個字符串進行比較時,JavaScript首先比較兩個字符串的第1個字符的Unicode編碼。若Unicode編碼相同,則繼續(xù)比較下一個字符,否則根據(jù)Unicode編碼大小得出兩個字符串的大小關系。若兩個字符串的字符完全相同,則兩個字符串相等。若一個字符串中的字符已經(jīng)比較完,則另一個還有未比較字符的字符串更大。2.2.4邏輯運算符邏輯運算符用于對布爾型值執(zhí)行邏輯運算。2.2.5位運算符位運算符用于對操作數(shù)按二進制執(zhí)行位運算。2.2.6賦值運算符“=”是JavaScript的賦值運算符,用于將其右側表達式的值賦給左側的變量。x=5;y=x*x+2;賦值運算符可以和其他的各種運算符組成復合賦值運算符,例如*=、/=、%=、+=、-=、<<=、>>=、>>>=、&=、|=和^=等。復合賦值運算符首先計算變量和右側表達式,然后將結果賦給變量。x+=5;

//等價于x=x+5賦值運算表達式可出現(xiàn)在表達式的任何位置。x=(y=5)+3;

//等價于y=5;x=y+3;2.2.7特殊運算符JavaScript還提供了一些特殊的運算符,包括:條件運算符逗號運算符數(shù)據(jù)類型運算符new運算符1.條件運算符條件運算符基本格式如下。表達式1

?

表達式2

:

表達式3若表達式1的值為true,則條件運算結果為表達式2的值,否則為表達式3的值。例如,下面的代碼輸出兩個數(shù)中較大的值。var

a

=2,

b

=

3,

cc

=

a

>

b

?

a

:

bdocument.write(c)

//輸出32.逗號運算符利用逗號可以將多個表達式放到一起,其中最后一個表達式的值為整個表達式的值。c

=

(a

=

5,

b

=

6,

a

+

b)document.write(c)

//輸出113.數(shù)據(jù)類型運算符typeof運算符可返回操作數(shù)的數(shù)據(jù)類型,其基本格式如下。typeof

操作數(shù)typeof(操作數(shù))例如,返回變量a的數(shù)據(jù)類型。a

=

100document.write(typeof

a)

//輸出number4.new運算符new用于創(chuàng)建對象實例。a

=

new

Array()

//創(chuàng)建一個數(shù)組對象2.2.8運算符的優(yōu)先級例如,表達式x%4==0&&x%100!=0||x%400==0(當x值為700時)按從左到右的順序進行計算,過程如下。(1)%優(yōu)先級高于==,所以先計算x%4,結果為0。表達式變?yōu)?==0&&x%100!=0||x%400==0。(2)==優(yōu)先級高于&&,所以先計算0==0,結果為true。表達式變?yōu)閠rue&&x%100!=0||x%400==0。(3)&&、%和!=中,%優(yōu)先級最高,所以先計算x%100,結果為0。表達式變?yōu)閠rue&&0!=0||x%400==0。(4)&&、!=和||中,!=優(yōu)先級最高,所以先計算0!=0,結果為false。表達式變?yōu)閠rue&&false||x%400==0。(5)&&比||優(yōu)先級高,所以先計算true&&false,結果為false。表達式變?yōu)閒alse||x%400==0。(6)||、%和==中,%優(yōu)先級最高,所以先計算x%400,結果為300。表達式變?yōu)閒alse||300==0。(7)||比==優(yōu)先級低,所以先計算300==0,結果為false。表達式變?yōu)閒alse||false。(8)計算false||false,結果為false。2.2.9表達式中的數(shù)據(jù)類型轉(zhuǎn)換運算符要求操作數(shù)具有相應的數(shù)據(jù)類型。算術運算符要求操作數(shù)都是數(shù)值類型字符串運算符要求操作數(shù)都是字符串邏輯運算符要求操作數(shù)都是邏輯值。JavaScript在計算表達式時,會根據(jù)運算符自動轉(zhuǎn)換不匹配的數(shù)據(jù)類型。JavaScript的常見類型轉(zhuǎn)換如表2-2所示。2.3流程控制語句JavaScript流程控制語句包括:if語句switch語句for循環(huán)while循環(huán)do/while循環(huán)continue語句和break語句2.3.1if語句if語句用于實現(xiàn)分支結構,根據(jù)條件成立與否,執(zhí)行不同的代碼塊。if語句有3種格式。1.if語句格式一1.格式一if(條件表達式){

代碼塊}如果條件表達式計算結果為true,則執(zhí)行花括號中的代碼塊,否則跳過if語句,執(zhí)行后續(xù)代碼。如果代碼塊中只有一條語句,可省略花括號。if

(x%2==0)

document.write(x+"是偶數(shù)");2.if語句格式二if(條件表達式){

代碼塊1}else{

代碼塊2}如果條件表達式計算結果為true,則執(zhí)行代碼塊1中的語句,否則執(zhí)行代碼塊2中的語句。if(x%2==0)

document.write(x+"是偶數(shù)");else

document.write(x+"是奇數(shù)");3.if語句格式三if(條件1){

代碼塊1}else

if(條件2)

{

代碼塊2}…else

if(條件n)

{

代碼塊n}

else

{

代碼塊n+1}JavaScript依次判斷各個條件,只有在前一個條件表達式計算結果為false時,才計算下一個條件。當某個條件表達式計算結果為true時,執(zhí)行對應的代碼塊。對應代碼塊中的語句執(zhí)行完后,if語句結束。只有在所有條件表達式的計算結果均為false時,才會執(zhí)行else部分的代碼塊。else部分可以省略。if(x<60)

document.write(x+"分,不及格!");else

if(x<70)

document.write(x+"分,及格!");else

if(x<90)

document.write(x+"分,中等!");else

document.write(x+"分,優(yōu)秀!");2.3.2switch語句

switch語句用于實現(xiàn)多分支結構,其基本格式如下。switch(n){

case

標號1:

代碼塊1

break;...

case

標號n:

代碼塊n

break;

溫馨提示

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

評論

0/150

提交評論