第1章-JavaScript概述、數(shù)據(jù)類型與運算符_第1頁
第1章-JavaScript概述、數(shù)據(jù)類型與運算符_第2頁
第1章-JavaScript概述、數(shù)據(jù)類型與運算符_第3頁
第1章-JavaScript概述、數(shù)據(jù)類型與運算符_第4頁
第1章-JavaScript概述、數(shù)據(jù)類型與運算符_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、JavaScript程序設(shè)計,-JavaScript變量與運算符,JavaScript發(fā)展歷史,JavaScript1.0(BrendanEich,1995.2)JScript1.0(Microsoft1996.8)JavaScript1.1-EcmaScript(ECMA-262)EcmaScript1.0/2.0/3.0/4.0-3.1=5.0(2009)/6.0(2015),3,JavaScript語言特點,JavaScript語言的特點:解釋型的腳本語言,采用小程序端的方式實現(xiàn)編程,不需要事先編譯;是基于對象的語言,可以運用已經(jīng)創(chuàng)建好的對象,結(jié)合對象的方法和腳本實現(xiàn)所需的功能是事件驅(qū)動

2、的語言,可以直接對用戶的輸入做出響應(yīng),不需要服務(wù)器的支持,減少了瀏覽器和服務(wù)器之間的通信量,提高了響應(yīng)速度。變量類型采用弱類型,未使用嚴(yán)格的數(shù)據(jù)類型是一種安全的語言,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,不允許訪問本地硬盤或?qū)?shù)據(jù)存到服務(wù)器上,不允許對網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,從而有效防止數(shù)據(jù)的丟失。是一種與平臺無關(guān)的語言,依賴于瀏覽器本身,與操作系統(tǒng)無關(guān),從而實現(xiàn)了一定程度的”一次編寫,隨處運行“。,4,JavaScript簡介,JavaScript代碼的加入:使用標(biāo)簽將javaScript代碼潛入到HTML中。格式如下:Javascript代碼;/script標(biāo)記有兩主要屬性:Languag

3、e,腳本語言的類型,可以為javaScript或liveScriptSrc,包含javaScript源代碼的文件,以”.js”為擴(kuò)展名,可以是javaScript以文件的形式加載到html文件中JavaScript代碼可以嵌入在HTML的任何位置,但一般推薦將其放在標(biāo)簽中,5,網(wǎng)頁中引入JavaScript,案例名稱:第一個JavaScript程序程序名稱:2-24.htmdocument.write(這是以JavaScript輸出的!);,一、對一些問題的說明:1、區(qū)分大小寫:JavaScript中的變量、函數(shù)名和操作符都區(qū)分大小寫,關(guān)鍵字不能做變量或函數(shù)名字。所以,test和Test是兩個

4、變量,typeof因是關(guān)鍵字所以不能是函數(shù)名或者變量名。2、標(biāo)識符:就是變量、函數(shù)、屬性、函數(shù)的參數(shù)等。規(guī)定:(1)第一個字符必須是字母、下劃線(_)、美元符號($)。(2)其他字符可以是字母、下劃線、美元符號或數(shù)字。,數(shù)據(jù)類型、變量和運算符,變量,JavaScript變量的命名:(1)變量命名必須以一個英文字母或是下劃線為開頭,也就是變量名第一個字符必須是A到Z或是a到z之間的字母或是“_”。(2)變量名長度在0255字符之間。(3)除了首字符,其他字符可以使用任何合法字符、數(shù)字及下劃線,但是不可以使用空格。(4)不可以使用JavaScript的運算符號,例如:+,等。(5)不可以使用Jav

5、aScript用到的保留字,例如:sqrt(開方),parseInt(轉(zhuǎn)換成整型)等。(6)在JavaScript中,變量名大小寫是有所區(qū)別的,例如:變量s12和S12是不同的兩個變量。JavaScript變量的作用域:全局變量,定義在函數(shù)體之外,作用范圍是所有函數(shù)。局部變量,定義在函數(shù)體內(nèi),作用范圍是本函數(shù)。,保留字,9,JavaScript中的注釋,3.JS中的注釋JavaScript中的注釋和Java基本一致,也分為單行和多行注釋。注釋信息僅僅做為說明來使用,在程序的解釋和運行中是被忽略的。單行注釋:使用/符號對單行信息進(jìn)行注釋多行注釋:使用/*.*/對多行信息進(jìn)行注釋例子:/下面的al

6、ert()是彈出一個對話框/*下面的alert()是彈出一個對話框*/alert(這是第一個JavaScript例子!);,4、語句:JavaScript中語句以一個;結(jié)尾(英文分號)。但可以省略;。比如:注:分號雖不是必須的,但建議必須加上它,這樣可以提高效率(解析器不必再花時間推測應(yīng)該在哪里插入分號了)和避免錯誤。,5、在控制語句中,單行語句可以不加(不放在代碼塊中),但強(qiáng)烈加上即使代碼塊中只有一條語句。多行語句如果放在一個代碼塊中執(zhí)行,必須加,Javascript數(shù)據(jù)類型,13,JavaScript腳本語言同其他語言一樣,有自己的基本數(shù)據(jù)類型、表達(dá)式和算術(shù)運算符以及程序的基本框架結(jié)構(gòu)。J

7、avaScript(ES5)的基本類型:字符串:abchello你好“特殊字符:又叫轉(zhuǎn)義字符b表示退格n表示換頁t表示Tab符號r表示回車符表示雙引號本身表示單引號本身表示反斜線數(shù)字:包括整數(shù)數(shù)字和浮點型數(shù)字布爾值:true和false空值:null未定義:undefinedSymbol(ES6)varsbl=Symbol(“foo”),類型轉(zhuǎn)換,為了適應(yīng)不同的情況,JavaScript提供了兩種數(shù)據(jù)類型轉(zhuǎn)換的方法:一種是將整個值從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型(稱作基本數(shù)據(jù)類型轉(zhuǎn)換);另一種方法是從一個值中提取另一種類型的值,并完成類型轉(zhuǎn)換。JavaScript提供了三個方法實現(xiàn)基本數(shù)據(jù)類型之

8、間的轉(zhuǎn)換:String():將其他類型的值轉(zhuǎn)換為字符串。例如,String(123)將數(shù)值123轉(zhuǎn)換為字符串“123”。Number():將其他類型的值轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。例如,Number(false)可以將布爾型直接量false轉(zhuǎn)換為數(shù)值0。Boolean():將其他類型的值轉(zhuǎn)換為布爾型值。除0、NaN、null、undefined、“”(空字符串)被轉(zhuǎn)換為false外,所有其他值都被轉(zhuǎn)換為true。JavaScript中還提供了三種通過提取數(shù)據(jù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的方法:parseInt()、parseFloat()和eval()。,15,變量,JavaScript變量的定義:Javascri

9、pt中采用弱類型變量,變量可以不做聲明或不做類型聲明,而在使用是確定類型。例如:x=100、y“abc”等等但是,聲明變量的好處是能夠及時發(fā)現(xiàn)程序中的錯誤。javaScript中變量的定義使用關(guān)鍵字var/let關(guān)鍵字來實現(xiàn)。區(qū)別:var不支持塊級作用域let支持塊級作用域例如:varid;聲明變量必須明確變量的命名、類型及作用域。,變量聲明,格式1:var變量名1,變量名2,變量名3,下面是使用格式1聲明變量的示例代碼:vari;vara,b,c;varname,password;在聲明變量的同時,可以為變量指定一個值,這個過程稱為變量的初始化。但該過程不是強(qiáng)制性,可以聲明一個變量,但不初始

10、化這個變量,此時,該變量的數(shù)據(jù)類型為undefined。格式2:var變量名1=值1,變量名2=值2變量名3=值3,下面是使用格式2聲明變量的示例代碼:varname=張三;vari=0,j=1;varflag=true;,判斷變量類型,注:A、typeof操作符的操作數(shù)可以是變量也可以是數(shù)值字面量。如:B、因typeof是一個操作符而不是函數(shù),所以可以使用小括號(())將操作數(shù)括起來,也可以不使用,如:C、typeof(null)返回值是object,原因在于特殊值null被認(rèn)為是一個空對象的引用(一個對象為空時,值是null)。上頁中有例子。,2、undefined類型:該類型只有一個值,

11、即特殊的undefined。在使用var聲明變量但未對其加以初始化時,這個變量值就是undefined。(注意值為小寫,JS大小寫敏感)。示例:,知識擴(kuò)充:包含undefined值的變量和尚未定義的變量是不一樣的。例如:,對于尚未聲明的變量,可以使用typeof操作符檢測其數(shù)據(jù)類型。返回值也為:undefined值,和定義后未賦初值的變量一樣。即使用一個未定義的變量時沒有值,但其類型為Undefined。,建議:定義一個變量時顯式地初始化變量。,3、Null類型:只有一個值,即:null。null值表示一個空對象(這正是使用typeof檢測null值會返回“object”)。如:,知識擴(kuò)充:如

12、果定義的變量準(zhǔn)備將來用于保存對象,那么最好將該變量初始化為null而不是其他值。這樣,直接檢查null值就可以判斷相應(yīng)的變量是否已經(jīng)保存了一個對象的引用:varcar=null;/其他操作if(car!=null)/前提是car已賦初值null/對car進(jìn)行某些操作另:,4、Boolean類型:該類型有兩個值:true和false。(必須全是小寫)可以將其他值通過Boolean()函數(shù)轉(zhuǎn)換為Boolean類型,返回值取決于要轉(zhuǎn)換值的數(shù)據(jù)類型和實際值。,其他類型轉(zhuǎn)為Boolean類型的規(guī)則:,知識擴(kuò)充:使用流控制語句(比如if語句)時,會將其他值自動轉(zhuǎn)換為相應(yīng)的Boolean轉(zhuǎn)換(根據(jù)相應(yīng)的數(shù)據(jù)

13、類型和對應(yīng)的值)。比如:運行結(jié)果:,5、Number類型:包括整數(shù)和浮點數(shù)值(雙精度數(shù)值)。除了常用的十進(jìn)制外,還可以表示八進(jìn)制和十六進(jìn)制。八進(jìn)制的第一位必須是0,后跟(07),十六進(jìn)制前兩位是0 x,后跟(09及AF)。八進(jìn)制和十六進(jìn)制表示的數(shù)值最終將被轉(zhuǎn)換為十進(jìn)制。,(1)浮點數(shù)值:該數(shù)值中必須包含一個小數(shù)點。varnum1=1.1;varnum2=0.1;varnum3=.1;/有效,但不推薦。如果數(shù)值只有小數(shù)部分,則可以省略整數(shù)部分的0。,(2)數(shù)值轉(zhuǎn)換:2個函數(shù)將非數(shù)值轉(zhuǎn)換為數(shù)值:parseInt():用于將字符串轉(zhuǎn)換成整數(shù)數(shù)值。parseFloat():用于將字符串轉(zhuǎn)換成浮點型數(shù)值

14、。,parseInt():將字符串轉(zhuǎn)換為整數(shù)。規(guī)則:A、它會忽略字符串前面的空格,直至找到第一個非空格字符,如果第一個字符不是數(shù)字字符或者負(fù)號,則返回NaN。B、轉(zhuǎn)換空字符串返回NaN。C、如果第一個字符是數(shù)字字符,會接著進(jìn)行解析,直到完成或者遇到非數(shù)字字符。,D、使用該函數(shù)的第二個參數(shù)指定轉(zhuǎn)換時要轉(zhuǎn)成的進(jìn)制數(shù)。指定基數(shù)會影響到轉(zhuǎn)換的輸出結(jié)果:,注意:如果需要將表單中的數(shù)值(字符串)在前臺通過JS進(jìn)行算數(shù)運算時,必須先使用parseInt或者parseFloat進(jìn)行轉(zhuǎn)換再運算。,知識擴(kuò)充:(1)保存浮點數(shù)值需要的內(nèi)存空間是保存整數(shù)的兩倍,因此js會自動將一些能夠轉(zhuǎn)換為整數(shù)的自動轉(zhuǎn)換為浮點數(shù),如

15、小數(shù)點后沒跟任何數(shù)字(如1.)或者浮點數(shù)本身是個整數(shù)(如1.0)。如:結(jié)果都為1:,(2)可以使用e表示法(科學(xué)計數(shù)法),值為e前面的*10的指數(shù)次冪。varnum=3.125e7;/等價于31250000varnum=3e-7;/0.0000003;,(3)由于精度問題,導(dǎo)致進(jìn)行浮點數(shù)的算數(shù)運算時有時結(jié)果不準(zhǔn)確。如:第一個alert輸出:第二個輸出:,(4)數(shù)值范圍:ECMAScript表示的最小數(shù)值是:Number.MIN_VALUE(一般瀏覽器該值是:5e-324)能夠表示的最大值是:Number.MAX_VALUE.上面兩個值,不同瀏覽器會有區(qū)別,使用下面的語句可測出:,(5)NaN:

16、(NotaNumber)。表示一個本來要返回數(shù)值的操作未返回數(shù)值的情況,比如:任何涉及NaN的操作(如NaN/10)都會返回NaN。NaN與任何值都不想等。包括NaN本身。alert(Nan=Nan);/falseisNaN(),用來判斷數(shù)值是否“不是數(shù)值”,不是數(shù)值時返回true,否則,返回false。,(2)length:該屬性返回字符串的長度。關(guān)于漢字等雙字節(jié)字符,length屬性可能不會精確地返回字符串中的字符數(shù)目。(實際上,js中雙字節(jié)字符算一個長度,是由unicode編碼決定的(該編碼用2個字節(jié)表示)alert(“軟件工程系.length);/5,(4)【了解】將其他數(shù)值轉(zhuǎn)換為字符

17、串:A:.toString():函數(shù)可以將其他數(shù)值(包括字符串,除了null和undefined值)轉(zhuǎn)換為字符串表現(xiàn)。varage=11;varageAsString=age.toString();/”11”varbool=true;varboolAsString=bool.toString();/”true”特別注意null和undefined無法轉(zhuǎn)成字符串。可以為該函數(shù)指定一個參數(shù)(值為2、8、10、16)分別用以轉(zhuǎn)換數(shù)值時變成不同進(jìn)制的字符串?dāng)?shù)據(jù)。,varnum=10;num.toString(2);/1010,轉(zhuǎn)成二進(jìn)制num.toString(8);/12,轉(zhuǎn)成八進(jìn)制num.toSt

18、ring(10);/10,轉(zhuǎn)成十進(jìn)制num.toString(16);/A或a,轉(zhuǎn)成十六進(jìn)制B:String(要轉(zhuǎn)換的數(shù)值):該函數(shù)和.toString()的區(qū)別在于可以轉(zhuǎn)換null和undefined值。varvalue1=null,value2;String(value1);/nullString(value2);/undefined,運算符,根據(jù)運算類別,可以將JavaScript中的運算符分為以下6類:算術(shù)運算符按位運算符賦值運算符關(guān)系運算符邏輯運算符其他運算符,根據(jù)操作數(shù)的個數(shù),可以將JavaScript中的運算符分為3類:單目運算符:只作用于一個數(shù)據(jù)的運算符雙目運算符:作用于兩個數(shù)

19、據(jù)上的運算符三目運算符:作用于三個數(shù)據(jù)上的運算符,JavaScript的運算符,數(shù)學(xué)運算符:加法運算符”+”減法運算符“-”乘法運算符”*”除法運算符“/”取模運算符“%”遞增運算符“+”遞減運算符”-”,算術(shù)運算符,加法運算符加法運算符使用數(shù)學(xué)符號“+”,屬于雙目運算運算符,返回兩個操作數(shù)的算術(shù)和。操作數(shù)的類型要求為數(shù)值型,如果是字符串型則意義不同,主要運用在數(shù)值求和的場合,其語法如下代碼所示。操作數(shù)1+操作數(shù)2。示例如下所示。,01/腳本程序開始0208,算術(shù)運算符,減法運算符減法運算符使用數(shù)學(xué)符號“”,屬于雙目運算符,返回兩個操作數(shù)的算術(shù)差,操作數(shù)類型要求為數(shù)值型。含義與數(shù)學(xué)上的減法計算

20、完全一樣,使用的形式如下代碼所示。操作數(shù)1操作數(shù)2,01/腳本程序開始0208,算術(shù)運算符,乘法運算符乘法運算符使用符號“*”,屬于雙目運算符,返回兩個操作數(shù)的算術(shù)積。運算意義上完全等同于數(shù)學(xué)上的乘法計算,使用語法如下所示。操作數(shù)*操作數(shù)2,0102varemployee=300;/雇員總數(shù)03varprize=370;/每人獎金數(shù)額04vartotal=employee*prize;/預(yù)算總額05alert(預(yù)算:+total+元);/輸出總額06,算術(shù)運算符,除法運算符除法運算符使用符號“/”,也是屬于雙目運算符,操作數(shù)類型要求為數(shù)值型。其返回兩個操作數(shù)之商,JavaScript返回的商是

21、實數(shù)集內(nèi)的數(shù)據(jù),也就是浮點型數(shù)據(jù)。意義上等同于數(shù)學(xué)中的除法運算,因此可用在求商的場合,使用語法如下。操作數(shù)1/操作數(shù)2,01/腳本程序開始0207,算術(shù)運算符,模運算符取模運算符使用符號“%”,其作用是求一個數(shù)除以另一個數(shù)的余數(shù)。操作數(shù)的類型要求為數(shù)值型或能轉(zhuǎn)換為數(shù)值型的類型,屬于雙目運算符。事實上“?!笨梢赃@樣理解,如手表上的小時刻度,每到12點以后就是1點,此鐘表的模為12。通常取模運算可以取求某個數(shù)的倍數(shù)。,0102for(i=1;i,算術(shù)運算符,負(fù)號運算符負(fù)號運行符使用符號“-”,取負(fù)也就是等于取反。等同于數(shù)學(xué)意義的上負(fù)號,屬于單目運算符,語法如下。-操作數(shù)這里就負(fù)號運算符來看一個例子。,010207,算術(shù)運算符,正號運算符正號運算符使用符號“+”,針對數(shù)值類型操作數(shù),意義上等同于數(shù)學(xué)上的正號。屬于單目運算符,語法如下。+操作數(shù)遞增運算符代碼的裝入遞增運算符使用符號“+”,也稱為自增運算符,屬于單目運算符。可使數(shù)值類型的變量值自增一,操作數(shù)只能是變量。使用形式分左結(jié)合與右結(jié)合兩種,左結(jié)合在表達(dá)式中的效果是先遞增再使用,右結(jié)果則是先使用再遞增。語法如下:變量名+;/右結(jié)束遞增+變量名;/左結(jié)合遞增代碼的執(zhí)行,算術(shù)運算符,遞減運算符遞減運算符使

溫馨提示

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

最新文檔

評論

0/150

提交評論