摘要:在此,我們首先根據(jù)變量的作用域,將變量劃分為三級(jí),具體是全局變量局部變量和參數(shù)變量。
【摘要】本文是專為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愛(ài)好者提供一個(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ǔ)部分分為九大模塊來(lái)進(jìn)行歸納。
一、JS變量
對(duì)于變量而言,我們主要要從四個(gè)方面來(lái)掌握,具體包括命名、聲明、類型和作用域,這四個(gè)方面在其他的編程語(yǔ)言中也一樣存在,下面我們就具體來(lái)分別歸納:
1、命名
在變量的命名方面,我們需要了解命名的方法和命名的規(guī)則。
(1)命名的方法
命名的方法在實(shí)際的項(xiàng)目中,我們通常會(huì)有兩大類,一類是匈牙利命名法,這種命名法的寫法是:變量名=類型+對(duì)象描述,例如我們要命名一個(gè)表單變量時(shí),我們首先知道,該變量的類型是表單(form),同時(shí),我們要知道這個(gè)表單的功能或含義,比如說(shuō)這個(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è)下劃線“_”來(lái)連接的,例如:frm_switch_board;如果命名中大小寫同時(shí)存在,此時(shí),又將其分為大駝峰和小駝峰。大駝峰的命名是每個(gè)單詞的首字母都是大寫字母,例如:FrmSwitchBoard;而小駝峰的命名是第一個(gè)單詞的首字母要小寫,其后的單詞的首字母都要大寫,例如:frmSwitchBoard。
以上就是變量的命名方法,當(dāng)前,國(guó)內(nèi)主要采用的命名方法是小駝峰命名法。那么,我們?cè)诹私饷椒ǖ耐瑫r(shí),我們還必須同時(shí)掌握類型的問(wèn)題,在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è)诹私饬祟愋椭螅酉聛?lái)我們?cè)賮?lái)看看變量命名的規(guī)則問(wèn)題。
(2)命名的規(guī)則
我們之所以要了解變量的命名規(guī)則,目的是為了讓我們命名的變量合法,也就是說(shuō)可以正常使用。
在JS中,變量命名的規(guī)則一般需要遵循以下三條:
<1>變量名的首字符只能是英文字母或者下劃線;
<2>變量名可以由英文字符、數(shù)字和下劃線組成,不能包含其他的特殊字符,如@、!等字符;
<3>變量名不能是JS中的關(guān)鍵字或保留字。
2、聲明
我們?cè)谕耆斫獠⒄莆樟俗兞康拿?,接下?lái)我們來(lái)看看變量的聲明問(wèn)題。對(duì)于變量的聲明,我們也需要把握好以下三個(gè)原則:
(1)JS中的變量通常是顯式聲明,例如:var 變量名;
(2)在聲明變量時(shí),我們切忌出現(xiàn)幾個(gè)問(wèn)題。其一,聲明的變量沒(méi)有數(shù)據(jù)類型;其二,重復(fù)聲明變量;其三,隱式聲明變量;其四,不聲明而直接賦值。
而解決此類問(wèn)題的一個(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()來(lái)檢測(cè)其具體的類型;
(2)引用類型
而引用類型的變量,它也具備幾個(gè)特征:
<1>變量占用的存儲(chǔ)空間不是固定的;
<2>在保存與復(fù)制的時(shí)候,操作的是指向該變量的一個(gè)指針;
<3>可以通過(guò)instanceof()函數(shù)來(lái)檢測(cè)其數(shù)據(jù)類型
同時(shí),我們還需要了解的一個(gè)問(wèn)題,那就是使用new()方法構(gòu)造出的對(duì)象是屬于引用類型的變量。
4、作用域
我們?cè)诹私饬俗兞康拿⒙暶骱皖愋椭?,我們最后再?lái)看看,在實(shí)際的項(xiàng)目中,我們所使用的變量的另外一個(gè)比較關(guān)鍵的問(wèn)題,那就是變量的作用域。在此,我們首先根據(jù)變量的作用域,將變量劃分為三級(jí),具體是全局變量、局部變量和參數(shù)變量。
對(duì)于上述三級(jí)變量,我們分別從寫法到調(diào)用,再到優(yōu)先級(jí)最后再到特性等三個(gè)層次來(lái)總結(jié)。
(1)寫法與調(diào)用
對(duì)于全局變量,它的寫法要求我們?cè)诼暶鞔俗兞康臅r(shí)候,要放在函數(shù)體的外部來(lái)進(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ù)可以訪問(wèn)外層函數(shù)的局部變量,但外層函數(shù)不能訪問(wèn)內(nèi)層函數(shù)的局部變量;
<3>在變量的生命周期方面,全局變量除非被刪除,否則將一直存在,局部變量則存活于自聲明起到函數(shù)運(yùn)行結(jié)束或者被刪除之前。
以上內(nèi)容就是我們?cè)趯W(xué)習(xí)JavaScript時(shí),對(duì)于變量方面需要掌握的知識(shí)點(diǎn),希望能給大家?guī)?lái)參考。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79435.html
摘要:今天主要說(shuō)一下個(gè)人情況和學(xué)習(xí)路徑規(guī)劃。個(gè)人情況作為浙江新高考最后一屆小白鼠,經(jīng)歷了許許多多手動(dòng)和諧的事情,但是七選三有技術(shù)是唯一好的一件事情,讓我有了一點(diǎn)編程的基礎(chǔ)。 前言 Hello World!這是我思否的第一篇技術(shù)博客(不知道算不算),剛剛經(jīng)歷了高考,有個(gè)10+分的滑鐵盧,現(xiàn)坐標(biāo)浙江杭州,被西南某末流211機(jī)械專業(yè)錄取。雖然被苦x的機(jī)械錄取,但還是對(duì)計(jì)算機(jī)有著幻想。以后想通...
摘要:今天主要說(shuō)一下個(gè)人情況和學(xué)習(xí)路徑規(guī)劃。個(gè)人情況作為浙江新高考最后一屆小白鼠,經(jīng)歷了許許多多手動(dòng)和諧的事情,但是七選三有技術(shù)是唯一好的一件事情,讓我有了一點(diǎn)編程的基礎(chǔ)。 前言 Hello World!這是我思否的第一篇技術(shù)博客(不知道算不算),剛剛經(jīng)歷了高考,有個(gè)10+分的滑鐵盧,現(xiàn)坐標(biāo)浙江杭州,被西南某末流211機(jī)械專業(yè)錄取。雖然被苦x的機(jī)械錄取,但還是對(duì)計(jì)算機(jī)有著幻想。以后想通...
某熊的技術(shù)之路指北 ? 當(dāng)我們站在技術(shù)之路的原點(diǎn),未來(lái)可能充滿了迷茫,也存在著很多不同的可能;我們可能成為 Web/(大)前端/終端工程師、服務(wù)端架構(gòu)工程師、測(cè)試/運(yùn)維/安全工程師等質(zhì)量保障、可用性保障相關(guān)的工程師、大數(shù)據(jù)/云計(jì)算/虛擬化工程師、算法工程師、產(chǎn)品經(jīng)理等等某個(gè)或者某幾個(gè)角色。某熊的技術(shù)之路系列文章/書籍/視頻/代碼即是筆者蹣跚行進(jìn)于這條路上的點(diǎn)滴印記,包含了筆者作為程序員的技術(shù)視野、...
摘要:模塊化是隨著前端技術(shù)的發(fā)展,前端代碼爆炸式增長(zhǎng)后,工程化所采取的必然措施。目前模塊化的思想分為和。特別指出,事件不等同于異步,回調(diào)也不等同于異步。將會(huì)討論安全的類型檢測(cè)惰性載入函數(shù)凍結(jié)對(duì)象定時(shí)器等話題。 Vue.js 前后端同構(gòu)方案之準(zhǔn)備篇——代碼優(yōu)化 目前 Vue.js 的火爆不亞于當(dāng)初的 React,本人對(duì)寫代碼有潔癖,代碼也是藝術(shù)。此篇是準(zhǔn)備篇,工欲善其事,必先利其器。我們先在代...
閱讀 3243·2021-11-23 09:51
閱讀 3701·2021-09-22 15:35
閱讀 3675·2021-09-22 10:02
閱讀 2989·2021-08-30 09:49
閱讀 550·2021-08-05 10:01
閱讀 3416·2019-08-30 15:54
閱讀 1693·2019-08-30 15:53
閱讀 3586·2019-08-29 16:27