【摘要】本文是專為JavaScript入門者而總結(jié)的,總體上將JavaScript的基礎(chǔ)部分分成了九大塊,分別是變量、運算符、數(shù)組、流程控制結(jié)構(gòu)、字符串函數(shù)、函數(shù)基礎(chǔ)、DOM操作基礎(chǔ)、文檔對象模型DOM和正則表達(dá)式。
【關(guān)鍵字】變量、運算符、數(shù)組、流程控制結(jié)構(gòu)、函數(shù)、DOM、正則表達(dá)式。
本篇文章的主要內(nèi)容是圍繞著JavaScript(以后簡稱JS)的基礎(chǔ)進(jìn)行歸納與總結(jié)的,一方面可以給入門級的JS愛好者提供一個學(xué)習(xí)的路徑,另一方面,也可以給稍有基礎(chǔ)的JS學(xué)習(xí)者進(jìn)行知識梳理用。
作為網(wǎng)頁設(shè)計三層分離結(jié)構(gòu)中的第三部分,JS的作用與地位毋庸置疑,然而,想系統(tǒng)化掌握J(rèn)S的基礎(chǔ),為后續(xù)的高階學(xué)習(xí)做好鋪墊,還必須要對JS的基本內(nèi)容有清晰的認(rèn)識,所以,在此將JS的基礎(chǔ)部分分為九大模塊來進(jìn)行歸納。
一、JS變量
對于變量而言,我們主要要從四個方面來掌握,具體包括命名、聲明、類型和作用域,這四個方面在其他的編程語言中也一樣存在,下面我們就具體來分別歸納:
1、命名
在變量的命名方面,我們需要了解命名的方法和命名的規(guī)則。i
(1)命名的方法
命名的方法在實際的項目中,我們通常會有兩大類,一類是匈牙利命名法,這種命名法的寫法是:變量名=類型+對象描述,例如我們要命名一個表單變量時,我們首先知道,該變量的類型是表單(form),同時,我們要知道這個表單的功能或含義,比如說這個表單是一個Switchboard,所以此時,我們對這個表單變量的命名應(yīng)該為frmSwitchboard,這樣,其他人在閱讀你的代碼時,就很容易理解了,當(dāng)看到frm的時候,就知道你這個變量是一個表單變量了。
除了匈牙利命名法之外,另一類是駝峰命名法,這也是當(dāng)前大多數(shù)項目中經(jīng)常使用的命名方法,而駝峰命名法又分為大小寫。如果全部是小寫的命名,那么每兩個單詞之間是使用一個下劃線“_”來連接的,例如:frm_switch_board;如果命名中大小寫同時存在,此時,又將其分為大駝峰和小駝峰。大駝峰的命名是每個單詞的首字母都是大寫字母,例如:FrmSwitchBoard;而小駝峰的命名是第一個單詞的首字母要小寫,其后的單詞的首字母都要大寫,例如:frmSwitchBoard。
以上就是變量的命名方法,當(dāng)前,國內(nèi)主要采用的命名方法是小駝峰命名法。那么,我們在了解命名方法的同時,我們還必須同時掌握類型的問題,在JS中,類型主要有以下幾種:
<1>Int類型 — i
<2>Float類型 — fl
<3>Boolean類型 — b
<4>String類型 — s
<5>Array數(shù)組 — a
<6>Object對象 — o
<7>Function函數(shù) — fn
<8>Regular Expression正則 — re
我們在了解了類型之后,接下來我們再來看看變量命名的規(guī)則問題。
(2)命名的規(guī)則
我們之所以要了解變量的命名規(guī)則,目的是為了讓我們命名的變量合法,也就是說可以正常使用。
在JS中,變量命名的規(guī)則一般需要遵循以下三條:
<1>變量名的首字符只能是英文字母或者下劃線;
<2>變量名可以由英文字符、數(shù)字和下劃線組成,不能包含其他的特殊字符,如@、!等字符;
<3>變量名不能是JS中的關(guān)鍵字或保留字。
2、聲明
我們在完全理解并掌握了變量的命名之后,接下來我們來看看變量的聲明問題。對于變量的聲明,我們也需要把握好以下三個原則:
(1)JS中的變量通常是顯式聲明,例如:var 變量名;
(2)在聲明變量時,我們切忌出現(xiàn)幾個問題。其一,聲明的變量沒有數(shù)據(jù)類型;其二,重復(fù)聲明變量;其三,隱式聲明變量;其四,不聲明而直接賦值。
而解決此類問題的一個最簡單的辦法就是先寫變量聲明符var,緊接著就寫變量名,最后再直接給變量賦初值,例如:“var ?i = 0;” ?;
(3)我們在聲明變量時還需要養(yǎng)成一個好習(xí)慣,簡單概括就十二個字:先聲明、后讀寫、先賦值、后運算。
3、類型
對于變量而言,它其實可以分為兩大類,一類是值類型,另一類是引用類型。
(1)值類型
對于值類型的變量,它具備以下幾個特征:
<1>占用的存儲空間是固定的;
<2>在保存與復(fù)制的時候,操作的是值本身;
<3>可以使用JS中的類型檢測函數(shù)typeof()來檢測其具體的類型;
(2)引用類型
而引用類型的變量,它也具備幾個特征:
<1>變量占用的存儲空間不是固定的;
<2>在保存與復(fù)制的時候,操作的是指向該變量的一個指針;
<3>可以通過instanceof()函數(shù)來檢測其數(shù)據(jù)類型
同時,我們還需要了解的一個問題,那就是使用new()方法構(gòu)造出的對象是屬于引用類型的變量。
4、作用域
我們在了解了變量的命名、聲明和類型之后,我們最后再來看看,在實際的項目中,我們所使用的變量的另外一個比較關(guān)鍵的問題,那就是變量的作用域。在此,我們首先根據(jù)變量的作用域,將變量劃分為三級,具體是全局變量、局部變量和參數(shù)變量。
對于上述三級變量,我們分別從寫法到調(diào)用,再到優(yōu)先級最后再到特性等三個層次來總結(jié)。
(1)寫法與調(diào)用
對于全局變量,它的寫法要求我們在聲明此變量的時候,要放在函數(shù)體的外部來進(jìn)行聲明,而調(diào)用的時候,可以在項目的任何位置進(jìn)行;對于局部變量,它的寫法要求我們必須在函數(shù)體的內(nèi)部進(jìn)行聲明,而調(diào)用時,只能在函數(shù)體內(nèi)部調(diào)用;再者,對于參數(shù)變量,它也是要求在函數(shù)聲明的時候同時聲明,而調(diào)用時,也必須出現(xiàn)在函數(shù)體的內(nèi)部。
(2)優(yōu)先級
在優(yōu)先級方面,有三個參考的規(guī)則:
<1>同名的局部變量的優(yōu)先級要高于全局變量;
<2>同名的參數(shù)變量的優(yōu)先級也是高于全局變量;
<3>同名的局部變量的優(yōu)先級高于參數(shù)變量。
(3)特性
對于變量的作用域,有以下一些特點:
<1>全局變量可以看作是全局對象的屬性,而局部變量可以看作是調(diào)用對象的屬性;
<2>內(nèi)層函數(shù)可以訪問外層函數(shù)的局部變量,但外層函數(shù)不能訪問內(nèi)層函數(shù)的局部變量;
<3>在變量的生命周期方面,全局變量除非被刪除,否則將一直存在,局部變量則存活于自聲明起到函數(shù)運行結(jié)束或者被刪除之前。
以上內(nèi)容就是我們在學(xué)習(xí)JavaScript時,對于變量方面需要掌握的知識點,希望能給大家?guī)韰⒖肌?/p>