JavaScript知識架構(gòu)學(xué)習(xí)路徑(一)- 變量篇

【摘要】本文是專為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>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,695評論 2 370

推薦閱讀更多精彩內(nèi)容

  • JavaScript是什么? JS是一種小型的、輕量級的、面向?qū)ο蟮摹⒖缙脚_的客戶端腳本語言。JS是嵌入到瀏覽器軟...
    鉤不了沉閱讀 1,929評論 0 6
  • 落花 夕陽的河岸上, 生長著一叢花, ——夕陽如血 如血年華—— 顫抖在風(fēng)中, 不斷剝落著歲月 爛漫 是昨天的回憶...
    鷺千羽閱讀 319評論 0 1
  • 姓名:吳龍飛 公司:杭州簡品食品股份有限公司 組別:利他一組 【日精進(jìn)打卡...
    加了冰的咖啡閱讀 153評論 0 0