1.背景介紹:
JavaScript:是腳本語言很澄。是一種輕量級(jí)的編程語言锄弱。它是可插入HTML頁面的編程代碼,JavaScript插入HTML頁面后礼仗,可由所有的現(xiàn)代瀏覽器執(zhí)行吐咳。
JavaScript的誕生
1994年,網(wǎng)景公司開始考慮考慮開發(fā)一種客戶端腳本語言來解決簡(jiǎn)單的處理問題元践,為即將在1995年發(fā)行的Netscape Navigator 2.0瀏覽器開發(fā)一個(gè)稱之為L(zhǎng)iveScript的腳本語言韭脊,以便在瀏覽器和服務(wù)器(本來要叫它LiveWire)端使用它,實(shí)現(xiàn)頁面與使用者的互動(dòng)单旁。
當(dāng)時(shí)網(wǎng)景公司正與sun公司合作沪羔,而sun公司正準(zhǔn)備推出java語言,為了利于Java這個(gè)因特網(wǎng)時(shí)髦詞匯慎恒,網(wǎng)景公司將這門語言命名為了JavaScript任内。
1997年,以JavaScript1.1為藍(lán)本的建議被提交給了歐洲計(jì)算機(jī)制造商協(xié)會(huì)
(ECMA融柬,European Computer Manufactures Association)進(jìn)行標(biāo)準(zhǔn)化.
經(jīng)過數(shù)月的努力完成了ECMA-262——定義了一種名為ECMAScript的新腳本語言的標(biāo)準(zhǔn)死嗦。
第二年,ISO/IEC(國(guó)標(biāo)標(biāo)準(zhǔn)化組織和國(guó)際電工委員會(huì))也采用了ECMAScript作為標(biāo)準(zhǔn)(即ISO/IEC-16262)粒氧。
ECMAScript往往被稱為JavaScript或JScript越除,但實(shí)際上后兩者是ECMA-262標(biāo)準(zhǔn)的實(shí)現(xiàn)和擴(kuò)展。
ECMAScript是一個(gè)重要的標(biāo)準(zhǔn),但它并不是JavaScript唯一的部分摘盆,當(dāng)然翼雀,也不是唯一被標(biāo)準(zhǔn)化的部分。
實(shí)際上孩擂,一個(gè)完整的JavaScript實(shí)現(xiàn)是由以下3個(gè)不同部分組成的:
核心(ECMAScript):由ECMA-262定義狼渊,提供核心語言功能;
文檔對(duì)象模型(DOM):提供訪問和操作網(wǎng)頁內(nèi)容的方法和接口类垦;
瀏覽器對(duì)象模型(BOM):提供與瀏覽器交互的方法和接口狈邑。
2.知識(shí)剖析
2.1JavaScript數(shù)據(jù)類型有哪些
在ECMAScript中,將數(shù)據(jù)類型分為6種蚤认,分別是Undefined米苹、Null、Boolean砰琢、Number和String蘸嘶,還有一個(gè)復(fù)雜數(shù)據(jù)類型Object。
Undefined陪汽、Null训唱、Boolean、Number都屬于基本類型掩缓。Object雪情、Array和Function則屬于引用類型,String有些特殊你辣,具體的會(huì)在下面展開分析巡通。
2.2 Undefined數(shù)據(jù)類型
Undefined數(shù)據(jù)類型只是一個(gè)值,即特殊的undefined舍哄。在使用var聲明變量但未對(duì)其進(jìn)行初始化時(shí)宴凉,變量的值就是undefined。
2.3 Null數(shù)據(jù)類型
Null數(shù)據(jù)類型也是一個(gè)只有一個(gè)值的數(shù)據(jù)類型表悬。其特殊值就是Null弥锄。
從邏輯上看,null是一個(gè)空的對(duì)象指針蟆沫。當(dāng)使用typeof操作符檢測(cè)null值籽暇,會(huì)返回“object”
undefined值派生自null值。出現(xiàn)場(chǎng)景:對(duì)象不存在時(shí)
[注意1]null是空對(duì)象指針饭庞,而[]是空數(shù)組戒悠,{}是空對(duì)象,三者不相同
2.4 Boolean數(shù)據(jù)類型
Boolean數(shù)據(jù)類型舟山,譯作布爾值绸狐,只有兩個(gè)字面量:true和false卤恳。它們是區(qū)分大小寫的。
任何數(shù)據(jù)類型的值調(diào)用Boolean()函數(shù)都會(huì)返回一個(gè)Boolean值
2.5 Number數(shù)據(jù)類型
JavaScript只有一種數(shù)字類型寒矿。數(shù)字可以帶小數(shù)點(diǎn)突琳,也可以不帶:
常用數(shù)據(jù)轉(zhuǎn)換方法
轉(zhuǎn)數(shù)值:parseInt()和parseFloat()。
轉(zhuǎn)字符串:.toString()
強(qiáng)制轉(zhuǎn)換:訪問數(shù)據(jù)內(nèi)部?jī)?nèi)容符相,并將符合格式的內(nèi)容進(jìn)行轉(zhuǎn)換
Boolean(value) -把給定的值轉(zhuǎn)換成Boolean型拆融;
Number(value) -把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點(diǎn)數(shù));
String(value) -把給定的值轉(zhuǎn)換成字符串主巍;
對(duì)于極大或者極小數(shù)冠息,用科學(xué)技術(shù)法e表示浮點(diǎn)數(shù)值。大多數(shù)瀏覽器中的最大值為1.7976931348623157e+308孕索。超出JavaScript數(shù)值范圍的值會(huì)返回一個(gè)特殊值Infinity值,正數(shù)為Infinity(正無窮)躏碳,負(fù)數(shù)為-Infinity(負(fù)無窮)搞旭。其值無法繼續(xù)參與下一步運(yùn)算」矫啵可以使用isFinite()函數(shù)判別數(shù)值是不是有窮的肄渗。
NaN,非數(shù)值(Not a number)咬最。表示一個(gè)本來要返回?cái)?shù)值的操作未返回?cái)?shù)值的情況翎嫡,省去報(bào)錯(cuò)。
有兩個(gè)特點(diǎn):
1.任何涉及NaN的操作都會(huì)返回NaN永乌。
2. NaN和任何值都不相等惑申,包括其本身。
2.6 String數(shù)據(jù)類型
String數(shù)據(jù)類型表示由零或者多個(gè)16位Unicode字符組成的字符序列翅雏,簡(jiǎn)稱字符串圈驼。由('')("")表示。字符串是不可變的望几,一旦創(chuàng)建绩脆,值不能改變。
字符串在許多方面都和基本類型的表現(xiàn)相似橄抹,但其又是不可變的靴迫,因此可以將字符串看成行為與基本類型相似的不可變引用類型
使用toString(),可以將其他類型值轉(zhuǎn)換成字符串楼誓,但是null和undefined不適用這個(gè)方法玉锌。使用String()函數(shù)可以將null和undefined進(jìn)行轉(zhuǎn)換。
2.7 Object數(shù)據(jù)類型
Object數(shù)據(jù)類型慌随,稱為對(duì)象芬沉,是一組數(shù)據(jù)和功能(函數(shù))的集合躺同。可以用new操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來創(chuàng)建丸逸。也可以用字面量表示法創(chuàng)建蹋艺。在其中添加不同名(包含空字符串在內(nèi)的任意字符串)的屬性。
3.編碼實(shí)戰(zhàn)
4.參考文獻(xiàn)