【摘要】本文是專為JavaScript入門者而總結(jié)的挺尿,總體上將JavaScript的基礎(chǔ)部分分成了九大塊,分別是變量炊邦、運(yùn)算符编矾、數(shù)組、流程控制結(jié)構(gòu)馁害、字符串函數(shù)窄俏、函數(shù)基礎(chǔ)、DOM操作基礎(chǔ)碘菜、文檔對(duì)象模型DOM和正則表達(dá)式凹蜈。
【關(guān)鍵字】變量限寞、運(yùn)算符、數(shù)組仰坦、流程控制結(jié)構(gòu)履植、函數(shù)、DOM悄晃、正則表達(dá)式玫霎。
本篇文章的主要內(nèi)容是圍繞著JavaScript(以后簡(jiǎn)稱JS)的基礎(chǔ)進(jìn)行歸納與總結(jié)的,一方面可以給入門級(jí)的JS愛好者提供一個(gè)學(xué)習(xí)的路徑妈橄,另一方面庶近,也可以給稍有基礎(chǔ)的JS學(xué)習(xí)者進(jìn)行知識(shí)梳理用。
作為網(wǎng)頁(yè)設(shè)計(jì)三層分離結(jié)構(gòu)中的第三部分眷蚓,JS的作用與地位毋庸置疑鼻种,然而,想系統(tǒng)化掌握J(rèn)S的基礎(chǔ)沙热,為后續(xù)的高階學(xué)習(xí)做好鋪墊叉钥,還必須要對(duì)JS的基本內(nèi)容有清晰的認(rèn)識(shí),所以校读,在此將JS的基礎(chǔ)部分分為九大模塊來進(jìn)行歸納沼侣。
一、JS變量
對(duì)于變量而言歉秫,我們主要要從四個(gè)方面來掌握蛾洛,具體包括命名、聲明雁芙、類型和作用域轧膘,這四個(gè)方面在其他的編程語(yǔ)言中也一樣存在,下面我們就具體來分別歸納:
1兔甘、命名
在變量的命名方面谎碍,我們需要了解命名的方法和命名的規(guī)則。i
(1)命名的方法
命名的方法在實(shí)際的項(xiàng)目中洞焙,我們通常會(huì)有兩大類蟆淀,一類是匈牙利命名法,這種命名法的寫法是:變量名=類型+對(duì)象描述澡匪,例如我們要命名一個(gè)表單變量時(shí)熔任,我們首先知道,該變量的類型是表單(form)唁情,同時(shí)疑苔,我們要知道這個(gè)表單的功能或含義,比如說這個(gè)表單是一個(gè)Switchboard甸鸟,所以此時(shí)惦费,我們對(duì)這個(gè)表單變量的命名應(yīng)該為frmSwitchboard兵迅,這樣,其他人在閱讀你的代碼時(shí)薪贫,就很容易理解了恍箭,當(dāng)看到frm的時(shí)候,就知道你這個(gè)變量是一個(gè)表單變量了后雷。
除了匈牙利命名法之外季惯,另一類是駝峰命名法吠各,這也是當(dāng)前大多數(shù)項(xiàng)目中經(jīng)常使用的命名方法臀突,而駝峰命名法又分為大小寫。如果全部是小寫的命名贾漏,那么每?jī)蓚€(gè)單詞之間是使用一個(gè)下劃線“_”來連接的候学,例如:frm_switch_board;如果命名中大小寫同時(shí)存在纵散,此時(shí)梳码,又將其分為大駝峰和小駝峰。大駝峰的命名是每個(gè)單詞的首字母都是大寫字母伍掀,例如:FrmSwitchBoard掰茶;而小駝峰的命名是第一個(gè)單詞的首字母要小寫,其后的單詞的首字母都要大寫蜜笤,例如:frmSwitchBoard濒蒋。
以上就是變量的命名方法,當(dāng)前把兔,國(guó)內(nèi)主要采用的命名方法是小駝峰命名法沪伙。那么,我們?cè)诹私饷椒ǖ耐瑫r(shí)县好,我們還必須同時(shí)掌握類型的問題围橡,在JS中,類型主要有以下幾種:
<1>Int類型 — i
<2>Float類型 — fl
<3>Boolean類型 — b
<4>String類型 — s
<5>Array數(shù)組 — a
<6>Object對(duì)象 — o
<7>Function函數(shù) — fn
<8>Regular Expression正則 — re
我們?cè)诹私饬祟愋椭舐乒保酉聛砦覀冊(cè)賮砜纯醋兞棵囊?guī)則問題翁授。
(2)命名的規(guī)則
我們之所以要了解變量的命名規(guī)則,目的是為了讓我們命名的變量合法晾咪,也就是說可以正常使用收擦。
在JS中,變量命名的規(guī)則一般需要遵循以下三條:
<1>變量名的首字符只能是英文字母或者下劃線禀酱;
<2>變量名可以由英文字符炬守、數(shù)字和下劃線組成,不能包含其他的特殊字符剂跟,如@减途、酣藻!等字符;
<3>變量名不能是JS中的關(guān)鍵字或保留字鳍置。
2辽剧、聲明
我們?cè)谕耆斫獠⒄莆樟俗兞康拿螅酉聛砦覀儊砜纯醋兞康穆暶鲉栴}税产。對(duì)于變量的聲明怕轿,我們也需要把握好以下三個(gè)原則:
(1)JS中的變量通常是顯式聲明,例如:var 變量名辟拷;
(2)在聲明變量時(shí)撞羽,我們切忌出現(xiàn)幾個(gè)問題。其一衫冻,聲明的變量沒有數(shù)據(jù)類型诀紊;其二,重復(fù)聲明變量隅俘;其三邻奠,隱式聲明變量;其四为居,不聲明而直接賦值碌宴。
而解決此類問題的一個(gè)最簡(jiǎn)單的辦法就是先寫變量聲明符var,緊接著就寫變量名蒙畴,最后再直接給變量賦初值贰镣,例如:“var ?i = 0;” ?;
(3)我們?cè)诼暶髯兞繒r(shí)還需要養(yǎng)成一個(gè)好習(xí)慣忍抽,簡(jiǎn)單概括就十二個(gè)字:先聲明八孝、后讀寫、先賦值、后運(yùn)算。
3狡忙、類型
對(duì)于變量而言,它其實(shí)可以分為兩大類楼入,一類是值類型,另一類是引用類型牧抽。
(1)值類型
對(duì)于值類型的變量嘉熊,它具備以下幾個(gè)特征:
<1>占用的存儲(chǔ)空間是固定的;
<2>在保存與復(fù)制的時(shí)候扬舒,操作的是值本身阐肤;
<3>可以使用JS中的類型檢測(cè)函數(shù)typeof()來檢測(cè)其具體的類型;
(2)引用類型
而引用類型的變量,它也具備幾個(gè)特征:
<1>變量占用的存儲(chǔ)空間不是固定的孕惜;
<2>在保存與復(fù)制的時(shí)候愧薛,操作的是指向該變量的一個(gè)指針;
<3>可以通過instanceof()函數(shù)來檢測(cè)其數(shù)據(jù)類型
同時(shí)衫画,我們還需要了解的一個(gè)問題毫炉,那就是使用new()方法構(gòu)造出的對(duì)象是屬于引用類型的變量。
4削罩、作用域
我們?cè)诹私饬俗兞康拿楣础⒙暶骱皖愋椭螅覀冏詈笤賮砜纯疵旨ぃ趯?shí)際的項(xiàng)目中进陡,我們所使用的變量的另外一個(gè)比較關(guān)鍵的問題,那就是變量的作用域秆撮。在此四濒,我們首先根據(jù)變量的作用域换况,將變量劃分為三級(jí)职辨,具體是全局變量、局部變量和參數(shù)變量戈二。
對(duì)于上述三級(jí)變量舒裤,我們分別從寫法到調(diào)用,再到優(yōu)先級(jí)最后再到特性等三個(gè)層次來總結(jié)觉吭。
(1)寫法與調(diào)用
對(duì)于全局變量腾供,它的寫法要求我們?cè)诼暶鞔俗兞康臅r(shí)候,要放在函數(shù)體的外部來進(jìn)行聲明鲜滩,而調(diào)用的時(shí)候伴鳖,可以在項(xiàng)目的任何位置進(jìn)行;對(duì)于局部變量徙硅,它的寫法要求我們必須在函數(shù)體的內(nèi)部進(jìn)行聲明榜聂,而調(diào)用時(shí),只能在函數(shù)體內(nèi)部調(diào)用嗓蘑;再者须肆,對(duì)于參數(shù)變量,它也是要求在函數(shù)聲明的時(shí)候同時(shí)聲明桩皿,而調(diào)用時(shí)豌汇,也必須出現(xiàn)在函數(shù)體的內(nèi)部。
(2)優(yōu)先級(jí)
在優(yōu)先級(jí)方面泄隔,有三個(gè)參考的規(guī)則:
<1>同名的局部變量的優(yōu)先級(jí)要高于全局變量拒贱;
<2>同名的參數(shù)變量的優(yōu)先級(jí)也是高于全局變量;
<3>同名的局部變量的優(yōu)先級(jí)高于參數(shù)變量佛嬉。
(3)特性
對(duì)于變量的作用域逻澳,有以下一些特點(diǎn):
<1>全局變量可以看作是全局對(duì)象的屬性岩调,而局部變量可以看作是調(diào)用對(duì)象的屬性;
<2>內(nèi)層函數(shù)可以訪問外層函數(shù)的局部變量赡盘,但外層函數(shù)不能訪問內(nèi)層函數(shù)的局部變量号枕;
<3>在變量的生命周期方面,全局變量除非被刪除陨享,否則將一直存在葱淳,局部變量則存活于自聲明起到函數(shù)運(yùn)行結(jié)束或者被刪除之前。
以上內(nèi)容就是我們?cè)趯W(xué)習(xí)JavaScript時(shí)抛姑,對(duì)于變量方面需要掌握的知識(shí)點(diǎn)赞厕,希望能給大家?guī)韰⒖肌?/p>