




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目2體重指數(shù)計(jì)算器——JavaScript程序設(shè)計(jì)基礎(chǔ)上一屆奧運(yùn)會(huì)已經(jīng)結(jié)束,中國選手在賽場拼搏的畫面在李強(qiáng)腦海中揮之不去,他心中激動(dòng)不已,他明白只有身體素質(zhì)好,才能好好學(xué)習(xí),報(bào)效祖國,于是決定也要強(qiáng)身健體。他開始了解一些體重指數(shù)(BMI)的相關(guān)知識(shí)。體重指數(shù)可通過身體質(zhì)量指數(shù)(BodyMassIndes,BMI)計(jì)算得出,公式如下。BMI=體重(kg)/[身高(m)×身高(m)]情境導(dǎo)入
情境導(dǎo)入
李強(qiáng)想編寫一個(gè)體重指數(shù)計(jì)算器,輸入性別、體重、身高,就能夠計(jì)算出對應(yīng)的體重指數(shù),如圖2-1、圖2-2、圖2-3、圖2-4所示。
情境導(dǎo)入
李強(qiáng)想編寫一個(gè)體重指數(shù)計(jì)算器,輸入性別、體重、身高,就能夠計(jì)算出對應(yīng)的體重指數(shù),如圖2-1、圖2-2、圖2-3、圖2-4所示。■掌握J(rèn)avaScript的變量的定義及使用■了解JavaScript的基本數(shù)據(jù)類型■掌握J(rèn)avaScript的運(yùn)算符和表達(dá)式,并具備運(yùn)用表達(dá)式解決問題的能力項(xiàng)目目標(biāo)任務(wù)
使用變量知識(shí)儲(chǔ)備任務(wù)
認(rèn)識(shí)數(shù)據(jù)類型任務(wù)
使用運(yùn)算符任務(wù)
認(rèn)識(shí)表達(dá)式任務(wù)
使用變量標(biāo)識(shí)符實(shí)際上是名稱,在JavaScript中可以用來命名變量、函數(shù)、自定義對象或者屬性。在JavaScript中,標(biāo)識(shí)符必須符合命名規(guī)范,主要命名規(guī)范如下:標(biāo)識(shí)符第一個(gè)字符必須是字母、下畫線(_)或美元符號(hào)($),其后的字符可以是字母、數(shù)字、下畫線或美元符號(hào)。自定義的標(biāo)識(shí)符不能和JavaScript中的關(guān)鍵字或保留字同名,但可以包含關(guān)鍵字或保留字。相關(guān)知識(shí)
標(biāo)識(shí)符標(biāo)識(shí)符里面不能有除了下畫線、美元符號(hào)以外的符號(hào),比如空格、“+”“-”“@”等符號(hào)都是不允許出現(xiàn)的。標(biāo)識(shí)符的命名盡量見名知意,比如可以用由多個(gè)單詞組成的復(fù)合標(biāo)識(shí)符命名,其主要有兩種方式:使用下畫線連接各個(gè)單詞,每個(gè)單詞全部小寫,例如stu_name。使用駝峰規(guī)則,包括大駝峰和小駝峰。大駝峰的規(guī)則是每個(gè)單詞的首字母大寫,其余字母小寫,例如StuName。小駝峰的規(guī)則是第一個(gè)單詞的首字母小寫,第二個(gè)及以后的單詞首字母大寫,其余字母小寫,例如stuName。相關(guān)知識(shí)
標(biāo)識(shí)符相關(guān)知識(shí)
標(biāo)識(shí)符如下所示為合法的標(biāo)識(shí)符:Liumy_name_name$strn1相關(guān)知識(shí)
關(guān)鍵字和保留字JavaScript關(guān)鍵字是指在JavaScript語言中有特定含義的,被JavaScript自身所用的單詞。比如用于表示流程控制語句的開始或結(jié)束的單詞,或者用于執(zhí)行特定操作的單詞。
因此,在程序中聲明變量或定義函數(shù)時(shí)是不能使用關(guān)鍵字作為標(biāo)識(shí)符的。JavaScript的常用關(guān)鍵字如表2-1所示。相關(guān)知識(shí)
關(guān)鍵字和保留字表2-1JavaScript的常用關(guān)鍵字相關(guān)知識(shí)
關(guān)鍵字和保留字表2-2JavaScript的保留字JavaScript保留字是ECMAScript規(guī)范中預(yù)留的關(guān)鍵字,目前它們還沒有特殊功能,但將來可能會(huì)加上,具體如表2-2所示。表2-2中列舉的這些保留字建議不要當(dāng)作變量名或者函數(shù)名來使用,以避免出錯(cuò)。什么是變量?顧名思義,變量就是值可以發(fā)生變化的量。變量有變量名和值,變量名是計(jì)算機(jī)內(nèi)存中暫時(shí)保存數(shù)據(jù)的符號(hào)名稱,通過該名稱獲取變量的值。當(dāng)在程序中需要頻繁使用某個(gè)值,且該值需要發(fā)生變化,或者該值書寫起來比較煩瑣時(shí),就需要一個(gè)“容器”來存儲(chǔ)這個(gè)值,這個(gè)“容器”就是變量。這就好比用杯子盛水,杯子是變量杯子中的水就是變量中的數(shù)據(jù),杯子的名字就是變量名。在程序中,通過變量完成對內(nèi)存中數(shù)據(jù)的各種操作,變量為數(shù)據(jù)操作提供了信息存儲(chǔ)容器。相關(guān)知識(shí)
變量的命名對變量進(jìn)行命名,要遵守標(biāo)識(shí)符的命名規(guī)范。JavaScript的變量命名規(guī)范如下:必須以字母或下畫線開頭,其后可以是數(shù)字、字母或下畫線變量名不能包含空格和加號(hào)、減號(hào)等符號(hào)不能使用JavaScript的關(guān)鍵字或保留字JavaScript的變量名是嚴(yán)格區(qū)分大小寫的相關(guān)知識(shí)
變量的命名相關(guān)知識(shí)
變量的命名如下所示為不合法的變量名:2nameforstu-name相關(guān)知識(shí)
變量的聲明和賦值JavaScript是弱類型語言,可以不聲明而直接使用變量。這樣雖然簡單,但是不便于發(fā)現(xiàn)變量名的錯(cuò)誤,所以不建議這樣做。通常的做法是在使用JavaScript變量前聲明變量。
目前,JavaScript常用的變量聲明方式有3種,分別是使用var、let和const關(guān)鍵字聲明。其中,使用let和const是ES6標(biāo)準(zhǔn)中增加的聲明變量方式。不管使用哪種方式聲明,在聲明時(shí)都無須指定數(shù)據(jù)類型。
使用var可以聲明具有全局或局部作用域的變量,聲明變量有以下幾種格式:
使用var可以一次聲明一個(gè)變量,也可以一次聲明多個(gè)變量,不同變量之間使用逗號(hào)隔開,如下。
聲明變量時(shí)可以不初始化變量,此時(shí)其數(shù)據(jù)類型默認(rèn)為undefined,也可以在聲明變量的同時(shí)初始化變量,如下。1.使用var聲明變量varname;//一次聲明一個(gè)變量var
name,gender,age;//一次聲明多個(gè)變量varname="李強(qiáng)";//在聲明的同時(shí)初始化變量varname="李強(qiáng)",gender="男",age;//在聲明的同時(shí)初始化全部或者部分變量使用var聲明的變量,可以多次賦值,但是其結(jié)果只與最后一次賦值有關(guān)。1.使用var給變量賦值varname="李強(qiáng)";name="王紅";name=3;console.log(name);使用let可以聲明具有塊級作用域的變量,聲明的格式和使用var聲明變量的格式完全相同。使用let可以一次聲明一個(gè)變量,也可以一次聲明多個(gè)變量,不同變量之間使用逗號(hào)隔開,如下。2.使用let聲明變量letname;//一次聲明一個(gè)變量letname,gender,age;//一次聲明多個(gè)變量
聲明變量時(shí)可以不初始化變量,此時(shí)其數(shù)據(jù)類型默認(rèn)為undefined,也可以在聲明變量的同時(shí)初始化變量,如下。
使用let聲明的變量,可以多次賦值,但是其結(jié)果只與最后一次賦值有關(guān)。2.使用let給變量賦值letname="李強(qiáng)";name="王紅";name=3;console.log(name);letname="李強(qiáng)";//在聲明的同時(shí)初始化變量letname="王紅",gender="男",age;//在聲明的同時(shí)初始化全部或者部分變量使用var和let聲明的變量可以改變,如果希望變量的值在整個(gè)運(yùn)行過程中保持不變,需要使用const聲明,具體格式如下:需要注意的是,使用const聲明變量時(shí),必須給變量賦初值,且該值在運(yùn)行過程中不能被修改。另外,此變量也不能多次聲明,如下。
3.使用const聲明變量const
變量名=值;constpi=3.1415;//一次聲明一個(gè)變量求圓的周長——var和const【任務(wù)一】使用var和const聲明變量并求圓的周長任務(wù)描述任務(wù)分析求圓的周長,根據(jù)圓的周長公式,需要圓的半徑和圓周率圓的半徑可以直接賦值得到,圓周率可以通過JavaScript的內(nèi)置對象Math的PI屬性獲得求圓的周長——var和const【任務(wù)一】求圓的周長——var和const【任務(wù)一】(1)初始化要求不同。使用var和let聲明變量時(shí)可以先不初始化,而使用const聲明變量時(shí)必須初始化。(2)重復(fù)聲明不同。使用var和let聲明的變量可以多次被修改,其值只與最近一次賦值一致。而使用const聲明的變量,在整個(gè)運(yùn)行過程中不能修改初值。(3)對塊級作用域的支持不同。使用一對花括號(hào)括起來的代碼稱為一個(gè)代碼塊,所謂塊級作用域,就是指變量起作用的范圍是當(dāng)前代碼塊,離開當(dāng)前代碼塊,變量就失效了。使用var聲明的變量支持全局作用域,使用let和const聲明的變量支持塊級作用域。4.3種變量聲明方式的區(qū)別4.3種變量聲明方式的區(qū)別//作用域不同
letname1="李強(qiáng)"{letname2="李強(qiáng)";
constname3="王紅";
varname4="馬東";console.log(name2);//支持塊級作用域,輸出李強(qiáng)
console.log(name3);//支持塊級作用域,輸出王紅
console.log(name4);//支持塊級作用域,輸出馬東
}console.log(name1);//支持塊級作用域,輸出李強(qiáng)
console.log(name2);//離開塊級代碼,出錯(cuò)
console.log(name3);//離開塊級代碼,出錯(cuò)
console.log(name4);//支持全局作用域,輸出馬東與其他語言不同的是,JavaScript聲明變量只使用一個(gè)關(guān)鍵字,只聲明變量的名字,不能聲明其類型。
變量類型是由變量值所屬的類型所決定的,變量值是數(shù)值,那么其變量類型就是數(shù)值型;變量值是字符串,那變量的類型就是字符串型,如下所示。
相關(guān)知識(shí)
變量的類型varx=23;//x的類型為數(shù)值型。letx="我們一起來學(xué)習(xí)JavaScript!";//x的類型為字符串型。varx=true;//x的類型為布爾型。輸出課程成績——變量聲明和變量賦值【任務(wù)二】要求聲明3個(gè)變量,并對3個(gè)變量分別進(jìn)行賦值,然后在頁面上輸出變量的值。任務(wù)描述任務(wù)分析聲明3個(gè)變量(name、course和score變量,分別代表姓名、科目和成績分別為3個(gè)變量賦值利用document.write()在頁面上輸出變量的值輸出課程成績——變量聲明和變量賦值【任務(wù)二】輸出課程成績——變量聲明和變量賦值【任務(wù)二】
變量的作用域是指變量在程序中的作用范圍,也就是變量在程序中的有效區(qū)域。在ES6標(biāo)準(zhǔn)出現(xiàn)之前,JavaScript變量的作用域按照其作用的范圍可以分為全局作用域和局部作用域。
在ES6標(biāo)準(zhǔn)之后,JavaScript變量的作用域按照其作用的范圍可以分為全局作用域、局部作用域和塊級作用域3種。對應(yīng)作用域的變量分別為全局變量、局部變量和塊級變量。
使用var聲明的變量的作用域有全局作用域和局部作用域兩種,沒有塊級作用域。使用let和const聲明的變量的作用域有全局作用域、局部作用域和塊級作用域3種。
相關(guān)知識(shí)
變量的作用域任務(wù)
認(rèn)識(shí)數(shù)據(jù)類型JavaScript是一種弱類型的語言,即數(shù)據(jù)(變量或常量)在定義時(shí)不必指明數(shù)據(jù)類型,其數(shù)據(jù)類型根據(jù)其賦值來確定。JavaScript的數(shù)據(jù)類型分為3類:基本數(shù)據(jù)類型、引用數(shù)據(jù)類型和特殊數(shù)據(jù)類型。
JavaScript的基本數(shù)據(jù)類型有數(shù)值型、字符串型和布爾型,引用數(shù)據(jù)類型是指支持對象編程的類型,特殊數(shù)據(jù)類型主要包括null(空值)、undefined(未定義)、NaN(非數(shù)值)以及轉(zhuǎn)義字符。相關(guān)知識(shí)
數(shù)據(jù)類型分類
JavaScript的數(shù)值型包括整型和浮點(diǎn)型整型
整型也叫整數(shù),它可以用十進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)來表示。十進(jìn)制數(shù):用0~9的數(shù)字來表示,如24、67、-99、-102。八進(jìn)制數(shù):用0~7的數(shù)字來表示,首位必須加0,如023、045。十六進(jìn)制數(shù):用0~9的數(shù)字和A~F(或者a~f)來表示,前兩位必須是0X或者0x。如0x245、0x5ad、0XCD、0XEF。
相關(guān)知識(shí)
基本數(shù)據(jù)類型——數(shù)值型浮點(diǎn)型浮點(diǎn)型數(shù)包括整數(shù)部分和小數(shù)部分,中間用小數(shù)點(diǎn)分隔,即“整數(shù)部分.小數(shù)部分”。表示浮點(diǎn)型數(shù)值時(shí)只能采用十進(jìn)制,其表示的形式有兩種,分別是普通形式和指數(shù)形式。普通形式:由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成,如3.5、23.0、0.6、-6.8。指數(shù)形式:也叫科學(xué)記數(shù)法,由數(shù)字、e和指數(shù)組成,如3.45e3(表示3.45×103)。注意:指數(shù)是-324~308的整數(shù),如3.45e3214、3.45e3.5都是不合法的。數(shù)值型字符串型是用來表示文本數(shù)據(jù)的,主要由字母、數(shù)字、漢字或者特殊字符
程序中,字符串?dāng)?shù)據(jù)必須用單引號(hào)或者雙引號(hào)標(biāo)注,單引號(hào)和雙引號(hào)可以相互嵌套單引號(hào)中的字符串可以有雙引號(hào),雙引號(hào)中的字符串也可以有單引號(hào)單引號(hào)和雙引號(hào)不能交叉使用字符串型"萬丈高樓平地起,盤龍臥虎高山齊。"'千里之堤,潰于蟻穴。'"歡迎來到‘JavaScript’的世界"'歡迎來到“JavaScript”的世界'字符串型'歡迎來到“JavaScript’的世界""歡迎來到‘JavaScript”的世界'"歡迎來到“JavaScript”的世界"'歡迎來到‘JavaScript’的世界'布爾型也叫邏輯型,只有兩個(gè)值,即邏輯真和邏輯假分別用true和false來表示布爾型的兩個(gè)值在程序中也可用非0數(shù)值和數(shù)值0分別表示true和false,當(dāng)把true和false轉(zhuǎn)換為數(shù)值時(shí),分別是1和0,布爾值通常用在判斷語句中,表示結(jié)果是真還是假。布爾型n==1;//判斷n是否等于1,如果等于則為true,否則為false。1.nullnull類型是只有一個(gè)值的數(shù)據(jù)類型,值即null,表示當(dāng)前為空值,如下。相關(guān)知識(shí)
特殊數(shù)據(jù)類型vara=null;//null類型2.undefinedundefined類型只有一個(gè)值,即undefined,指的是未定義類型的變量,表示這個(gè)變量還沒有被賦值,如下。相關(guān)知識(shí)
特殊數(shù)據(jù)類型varvariable;alert("此變量的類型為:"+variable);3.NaNNaN(NotaNumeber)是JavaScript特有的特殊數(shù)據(jù)類型,表示“非數(shù)值”,是指程序運(yùn)行時(shí)由于某種原因發(fā)生計(jì)算錯(cuò)誤,產(chǎn)生一個(gè)沒有意義的數(shù)值,這個(gè)數(shù)值就是NaN,如下。相關(guān)知識(shí)
特殊數(shù)據(jù)類型vara=5;varb="您好";varresult=a*b;//計(jì)算a*b的結(jié)果
document.write(result);4.轉(zhuǎn)義字符轉(zhuǎn)義字符通常也稱為控制字符,它是以反斜線開頭且不可顯示的特殊字符,利用轉(zhuǎn)義字符可以在字符串中添加不可顯示的特殊字符或者避免引號(hào)匹配問題。例如,在頁面上輸出圖2-2所示的效果,可以通過如下代碼實(shí)現(xiàn)。相關(guān)知識(shí)
特殊數(shù)據(jù)類型document.write("Hesaid.\"l\'mfondofJavaScript!\"";JavaScript常用的轉(zhuǎn)義字符如表2-3所示。我們也可以直接在document.write()中輸入<br/>標(biāo)簽來換行。如果想在alert()彈出對話框中實(shí)現(xiàn)換行,就需要使用轉(zhuǎn)義字符“\n”。相關(guān)知識(shí)
特殊數(shù)據(jù)類型表2-3JavaScript常用的轉(zhuǎn)義字符JavaScript是弱類型語言,變量的數(shù)據(jù)類型是由變量值決定的使用typeof運(yùn)算符獲取操作數(shù)的類型,主要有2種使用方式:typeof(表達(dá)式)——對表達(dá)式做運(yùn)算typeof變量名——對變量做運(yùn)算用來判斷一個(gè)變量的類型以及這個(gè)變量是否已經(jīng)被定義相關(guān)知識(shí)
數(shù)據(jù)類型判斷測試變量類型——typeof【任務(wù)三】使用typeof運(yùn)算符測試變量的類型任務(wù)描述任務(wù)分析對變量的類型進(jìn)行測試,聲明變量并賦初值,作為測試的對象通過typeof運(yùn)算符來對聲明的變量進(jìn)行運(yùn)算通過document.write()在頁面上輸出測試結(jié)果輸出課程成績——變量聲明和變量賦值【任務(wù)三】輸出課程成績——變量聲明和變量賦值【任務(wù)三】JavaScript提供了一種靈活的自動(dòng)類型轉(zhuǎn)換的處理方式,基本原則是,如果將A類型的值用于需要B類型的值的環(huán)境中,JavaScript就會(huì)自動(dòng)將A類型轉(zhuǎn)換為所需要的B類型。
類型轉(zhuǎn)換有隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換兩種方式。.6數(shù)據(jù)類型轉(zhuǎn)換隱式類型轉(zhuǎn)換就是通過運(yùn)算自動(dòng)對數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換的方式。(1)+運(yùn)算符,有以下兩種情況。
如果兩個(gè)操作數(shù)中有一個(gè)為字符串,那么JavaScript就認(rèn)為要進(jìn)行字符串連接運(yùn)算,并把不是字符串的操作數(shù)轉(zhuǎn)換成字符串。具體示例如下:
如果兩個(gè)操作數(shù)都是除字符串以外的基本數(shù)據(jù)類型,那么JavaScript就認(rèn)為要進(jìn)行加法運(yùn)算1.隱式類型轉(zhuǎn)換2023+“明天會(huì)更好”;//2023明天會(huì)更好隱式類型轉(zhuǎn)換就是通過運(yùn)算自動(dòng)對數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換的方式。(2)其他運(yùn)算符:如果操作數(shù)類型不符合當(dāng)前運(yùn)算符運(yùn)算類型,那么JavaScript會(huì)把操作數(shù)改為相應(yīng)的類型的值,再進(jìn)行運(yùn)算。例如,-、*、/等運(yùn)算符會(huì)要求操作數(shù)全部是數(shù)值。具體示例如下。1.隱式類型轉(zhuǎn)換2-"5";//-34*true;//4下面幾個(gè)表達(dá)式的值分別是多少?①求表達(dá)式10+30、10+"30"、"10"+30、"10"+"30"的值。②求表達(dá)式10-30、10-"30"、"10"-30、"10"-"30"的值。③求表達(dá)式true+10、true+"10"、true+false、true-false的值。④求表達(dá)式"a"-10的值。試一試隱式類型轉(zhuǎn)換就是通過運(yùn)算自動(dòng)對數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換的方式。(3)undefined和null的區(qū)別,undefined表示未定義,而null表示已經(jīng)定義,其值為空。因此undefined不能轉(zhuǎn)換為數(shù)字,而null可以轉(zhuǎn)換為數(shù)字,具體示例如下。1.隱式類型轉(zhuǎn)換2*undefined;//undefined4-null;//4
顯式類型轉(zhuǎn)換就是通過具體的方法,手動(dòng)進(jìn)行轉(zhuǎn)換。JavaScript提供了3個(gè)顯式類型轉(zhuǎn)換的函數(shù):Number(value)、Boolean(value)和String(value)。Number(value)方法用于把值轉(zhuǎn)換為數(shù)值。具體示例如下。2.顯式類型轉(zhuǎn)換Number("1.2");//1.2Number(undefined);//NaNNumber(false);//0Number("123abc");//NaN上面代碼的第4行,Number("123abc")返回結(jié)果為NaN,這是因?yàn)镹umber()函數(shù)在進(jìn)行轉(zhuǎn)換時(shí)先判斷要轉(zhuǎn)換的值是否能完整地轉(zhuǎn)換,不能轉(zhuǎn)換就返回NaN類型。JavaScript還提供了另外兩個(gè)轉(zhuǎn)換函數(shù),parseInt()和parseFloat(),分別將值轉(zhuǎn)換為整數(shù)和浮點(diǎn)數(shù),如果轉(zhuǎn)換的數(shù)值包含字符串,則只轉(zhuǎn)換字符串開頭的部分?jǐn)?shù)值。具體示例如下。2.顯式類型轉(zhuǎn)換parseInt("123abc");//123parseInt("123.6");//123parseFloat("123.6");//123.6parseFloat("123abc");//123
Boolean(value)函數(shù)用于把值轉(zhuǎn)換為布爾值。如果value為空字符串、0、undefined、null、false,那么將返回false,否則將返回true。具體示例如下。2.顯式類型轉(zhuǎn)換Boolean("");//結(jié)果是falseBoolean(undefined);//結(jié)果是falseBoolean(false);//結(jié)果是falseBoolean("a");//結(jié)果是trueString(value)函數(shù)用于把值轉(zhuǎn)換為字符串。具體示例如下。typeofString("1.2");//結(jié)果是stringtypeofString(2);//結(jié)果是stringtypeofString(false);//結(jié)果是string任務(wù)
使用運(yùn)算符運(yùn)算符是指能夠完成一系列計(jì)算操作的符號(hào)(如+、-、*、/等),通常將被計(jì)算的數(shù)稱為操作數(shù)。例如,“1+2”這個(gè)式子中1和2就是操作數(shù),而+就是運(yùn)算符。按照操作數(shù)的個(gè)數(shù)可以將運(yùn)算符分為單目運(yùn)算符(只有1個(gè)操作數(shù))、雙目運(yùn)算符(有2個(gè)操作數(shù))和三目運(yùn)算符(有3個(gè)操作數(shù))。使用運(yùn)算符單目運(yùn)算符只有1個(gè)操作數(shù),常見的單目運(yùn)算符有++、--等,如下。雙目運(yùn)算符有2個(gè)操作數(shù)。雙目運(yùn)算符是較常用的,下面的例子都用到了雙目運(yùn)算符。三目運(yùn)算符有3個(gè)操作數(shù),條件運(yùn)算符“?:”就是典型的三目運(yùn)算符,如下所示。使用運(yùn)算符x++;y--;x+y;x-y;x>y;x==y;<scripttype="text/javascript">varscore=88;varresult=score>90?"優(yōu)秀":"普通";</script>“?”前面為條件表達(dá)式,如果符合條件(其值為true),就取冒號(hào)前的值,否則就取冒號(hào)后面的值。例如,上面的代碼表示,如果score的值大于90,則經(jīng)過計(jì)算后result為“優(yōu)秀”;如果score的值小于90,則經(jīng)過計(jì)算后,result為“普通”。此外,按照操作數(shù)的類型來分,運(yùn)算符還可以分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、賦值運(yùn)算符、邏輯運(yùn)算符和位操作運(yùn)算符等。使用運(yùn)算符算術(shù)運(yùn)算符主要用于在程序中進(jìn)行加、減、乘、除等運(yùn)算
相關(guān)知識(shí)
算術(shù)運(yùn)算符運(yùn)算符說明示例+加運(yùn)算,返回結(jié)果為兩個(gè)數(shù)值的和4+6;//返回值為10連接運(yùn)算,只要有一側(cè)是字符串,進(jìn)行連接運(yùn)算“腳本”+“技術(shù)”;//返回值為“腳本技術(shù)”-減運(yùn)算8-5;//返回值為3*乘運(yùn)算3*5;//返回值為15/除運(yùn)算6/3;//返回值為2%取模運(yùn)算7%4;//返回值為3++自增運(yùn)算,x++;++xx=1;y=x++;//y=1,x=2;x=1;y=++x;//y=2,x=2;--自減運(yùn)算,x--;--xx=6;y=x++;//y=6,x=5;x=6;y=++x;//y=5,x=5計(jì)算賬單金額——算術(shù)運(yùn)算符【任務(wù)四】通過編程實(shí)現(xiàn)計(jì)算商品的總金額,當(dāng)商品標(biāo)價(jià)100元、稅率為0.05時(shí),計(jì)算買一件商品的總金額和稅金分別是多少?任務(wù)描述任務(wù)分析計(jì)算商品總金額,使用算術(shù)運(yùn)算符來實(shí)現(xiàn)聲明4個(gè)變量,分別用來保存總金額、稅金、稅率、標(biāo)價(jià)的值,再通過算術(shù)運(yùn)算符來進(jìn)行計(jì)算將計(jì)算結(jié)果在頁面上輸出計(jì)算賬單金額——算術(shù)運(yùn)算符【任務(wù)四】計(jì)算賬單金額——算術(shù)運(yùn)算符【任務(wù)四】關(guān)系運(yùn)算符又叫比較運(yùn)算符,用于對兩個(gè)操作數(shù)進(jìn)行比較,然后返回一個(gè)布爾值。相關(guān)知識(shí)
關(guān)系運(yùn)算符運(yùn)算符說明示例<
小于3<4;//返回值為true<=小于等于3<=3;//返回值為true>
大于3>4;//返回值為false>=大于等于3>=4;//返回值為false==等于。只進(jìn)行值判斷,不涉及數(shù)據(jù)類型“7”==7;//返回值為true!=不等于。只進(jìn)行值判斷,不涉及數(shù)據(jù)類型“7”!=7;//返回值為false===恒等于。對值和數(shù)據(jù)類型同時(shí)進(jìn)行判斷“7”===7;//返回值為false!==不恒等于。對值和數(shù)據(jù)類型同時(shí)進(jìn)行判斷“7”!==7;//返回值為true比較兩個(gè)數(shù)的大小——關(guān)系運(yùn)算符【任務(wù)五】在日常生活中,經(jīng)常遇到比較兩個(gè)數(shù)大小的問題。要進(jìn)行兩個(gè)數(shù)的大小比較,用JavaScript的關(guān)系運(yùn)算符很容易實(shí)現(xiàn)。本任務(wù)實(shí)踐要求運(yùn)用關(guān)系運(yùn)算符來比較兩個(gè)數(shù)的大小,并在頁面上輸出結(jié)果。任務(wù)描述任務(wù)分析對兩個(gè)數(shù)的大小進(jìn)行比較,可用關(guān)系運(yùn)算符來實(shí)現(xiàn)。首先要聲明一個(gè)變量,用來保存要比較的值,然后通過這個(gè)變量的值與其他值進(jìn)行比較。將比較的結(jié)果通過document.write()在頁面上輸出。比較兩個(gè)數(shù)的大小——關(guān)系運(yùn)算符【任務(wù)五】比較兩個(gè)數(shù)的大小——關(guān)系運(yùn)算符【任務(wù)五】 JavaScript的賦值運(yùn)算分為簡單賦值運(yùn)算和復(fù)合賦值運(yùn)算。簡單賦值運(yùn)算是指將賦值運(yùn)算符(=)右邊的值賦值給左邊的變量復(fù)合賦值運(yùn)算則是指在賦值時(shí)混合了其他運(yùn)算,如下。
需要注意的是,賦值表達(dá)式的值等于賦值運(yùn)算符左邊的變量值。
相關(guān)知識(shí)
賦值運(yùn)算符sum+=n;//等同于sum=sum+n;
賦值運(yùn)算符運(yùn)算符說明示例=將右邊表達(dá)式的值賦給左邊的變量name="張三";+=將左邊變量加上右邊表達(dá)式的值賦給左邊的變量a+=b;//相當(dāng)于a=a+b;-=將左邊變量減去右邊表達(dá)式的值賦給左邊的變量a-=b;//相當(dāng)于a=a-b;*=將左邊變量乘右邊表達(dá)式的值賦給左邊的變量a*=b;//相當(dāng)于a=a*b;/=將左邊變量除以右邊表達(dá)式的值賦給左邊的變量a/=b;//相當(dāng)于a=a/b;%=對左邊變量用右邊表達(dá)式的值求模,并得結(jié)果賦給左邊變量a%=b;//相當(dāng)于a=a%b;&=對左邊變量和右邊表達(dá)式的值進(jìn)行與運(yùn)算,并得結(jié)果賦給左邊變量a&=b;//相當(dāng)于a=a&b;|=對左邊變量和右邊表達(dá)式的值進(jìn)行或運(yùn)算,并將結(jié)果賦給左邊變量a|=b;//相當(dāng)于a=a|b;在ES6規(guī)范中新增了一種解構(gòu)賦值,它是對賦值運(yùn)算符的擴(kuò)展應(yīng)用,就是將屬性/值從對象/數(shù)組中取出,進(jìn)行模式匹配,然后對其中的變量進(jìn)行賦值,解構(gòu)賦值的主要語法如下解構(gòu)賦值[解構(gòu)的目標(biāo)]=[解構(gòu)的源];解構(gòu)的源是解構(gòu)賦值表達(dá)式的右邊部分,解構(gòu)的目標(biāo)是解構(gòu)賦值表達(dá)式的左邊部分。解構(gòu)賦值varnum1,num2;[num1,num2]=[123,234];console.log(num1);//123console.log(num2);//234變量賦值——賦值運(yùn)算符【任務(wù)六】通過使用賦值運(yùn)算符,實(shí)現(xiàn)表達(dá)式賦值運(yùn)算,并在頁面上輸出結(jié)果任務(wù)描述任務(wù)分析要對變量進(jìn)行賦值運(yùn)算,可先聲明兩個(gè)變量,并對變量賦初值通過賦值運(yùn)算符進(jìn)行賦值運(yùn)算通過document.write()將結(jié)果在頁面上輸出變量賦值——賦值運(yùn)算符【任務(wù)六】變量賦值——賦值運(yùn)算符【任務(wù)六】邏輯運(yùn)算符的操作數(shù)和運(yùn)算結(jié)果都是布爾值。在關(guān)系表達(dá)式中經(jīng)常用到邏輯運(yùn)算符,所以在JavaScript程序中,邏輯運(yùn)算符比較典型的應(yīng)用就是與關(guān)系運(yùn)算符配合使用:x>=10&&x<=99;//可以用來判斷x是否是10到99的數(shù)值相關(guān)知識(shí)
邏輯運(yùn)算符運(yùn)算符說明示例&&邏輯與。只有當(dāng)兩個(gè)操作數(shù)的值都為true時(shí),邏輯與的結(jié)果才為true,否則為false&&||邏輯或。只有當(dāng)兩個(gè)操作數(shù)的值都為false時(shí),邏輯或的結(jié)果才為false,否則為true||!邏輯非。操作數(shù)的值為true時(shí),邏輯非的結(jié)果為false;操作數(shù)的值為false時(shí),邏輯非的結(jié)果為true!表2-7JavaScript的邏輯運(yùn)算符判斷某年是否為閏年——邏輯運(yùn)算符【任務(wù)七】本任務(wù)實(shí)踐通過判斷某年是否為閏年來測試邏輯運(yùn)算符和關(guān)系運(yùn)算符,所謂閏年就是指表示年份的數(shù)字能被400整除,或者能被4整除但不能被100整除的年份。我們來實(shí)現(xiàn)一下閏年的算法。任務(wù)描述任務(wù)分析按照任務(wù)描述要求,先聲明3個(gè)變量,分別用來保存表示年份的數(shù)字、閏年計(jì)算結(jié)果以及判斷結(jié)果。通過邏輯運(yùn)算符和關(guān)系運(yùn)算符進(jìn)行運(yùn)算。通過document.write()在頁面上輸出結(jié)果。判斷某年是否為閏年——邏輯運(yùn)算符<scripttype="text/javascript">varyear=2022;varresult=year%4==0&&year%100!=0||year%400==0;varstatus=result?"是閏年":"不是閏年";document.write(year+"年"+status);</script>【任務(wù)七】判斷某年是否為閏年——邏輯運(yùn)算符【任務(wù)七】判斷某年是否為閏年——邏輯運(yùn)算符【任務(wù)七】
條件運(yùn)算符是JavaScript支持的一種特殊的三目運(yùn)算符。
“?”前面為條件表達(dá)式,如果條件為true,就取表達(dá)式2,否則就取表達(dá)式3。
相關(guān)知識(shí)
條件運(yùn)算符表達(dá)式1?表達(dá)式2:表達(dá)式3判斷是否成年——條件運(yùn)算符【任務(wù)八】通過條件表達(dá)式根據(jù)輸入的年齡來判斷一個(gè)人是否成年。任務(wù)描述任務(wù)分析先聲明兩個(gè)變量,一個(gè)保存基準(zhǔn)年齡,另一個(gè)保存結(jié)果通過條件運(yùn)算符對變量進(jìn)行計(jì)算通過document.write()在頁面上輸出結(jié)果判斷是否成年——條件運(yùn)算符【任務(wù)八】判斷是否成年——條件運(yùn)算符【任務(wù)八】
相關(guān)知識(shí)
位操作運(yùn)算符位操作運(yùn)算符用于對整數(shù)的二進(jìn)制位進(jìn)行操作,如向左或向右移位等。位操作運(yùn)算符在進(jìn)行運(yùn)算前,先將操作數(shù)轉(zhuǎn)換為32位的二進(jìn)制數(shù),再進(jìn)行相關(guān)運(yùn)算,最后輸出的結(jié)果將以十進(jìn)制表示。JavaScript常用的位操作運(yùn)算符如表2-8所示。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藍(lán)牙0無線傳輸性能優(yōu)化-全面剖析
- 2025年人力資源管理師專業(yè)技能考核試卷:人力資源部門員工人力資源部門員工培訓(xùn)與開發(fā)計(jì)劃試題
- 2025年拍賣師職業(yè)資格考試專業(yè)題集:拍賣師職業(yè)資格考試真題解析試題
- 游泳池墊層施工方案
- 地鐵盾構(gòu)精準(zhǔn)化施工方案
- 機(jī)械制造廠房分租合同范文
- 民事答辯狀(金融借款合同糾紛)
- 大橋主橋鋼梁架設(shè)施工方案
- 施工升降機(jī)安全施工方案
- 道路維修安全施工方案
- 浙江省臺(tái)州市和合聯(lián)盟2023-2024學(xué)年八年級下學(xué)期期中考試數(shù)學(xué)試題(含答案)
- 蒙古語中的時(shí)間表達(dá)方式研究論文
- 輸電線路鐵塔基礎(chǔ)強(qiáng)度加固方案
- 食品過敏原控制培訓(xùn)資料
- 《圖像識(shí)別技術(shù)及其應(yīng)用》課件
- 2025年小學(xué)生三年級語文家長會(huì)標(biāo)準(zhǔn)課件
- 4.2 明確概念的方法 課件-2高中政治統(tǒng)編版選擇性必修三邏輯與思維-1
- 《豆?jié){機(jī)設(shè)計(jì)方案》課件
- (高清版)DB21∕T 2481-2015 水利工程單元工程施工質(zhì)量檢驗(yàn)與評定標(biāo)準(zhǔn)-農(nóng)村水利工程
- 消防技術(shù)標(biāo)準(zhǔn)的解讀與應(yīng)用實(shí)例
- LED顯示屏售后服務(wù)、質(zhì)量保證承諾
評論
0/150
提交評論