
JavaScript?基本語法
1、語法簡介
學(xué)習(xí)任何一門語言都得學(xué)習(xí)這門語言的詞匯、語法和結(jié)構(gòu)等。同樣學(xué)習(xí)一門編程語言,也需要學(xué)習(xí)類似的東西。只不過,這些在編程語言里不叫詞匯、語法、結(jié)構(gòu),而是變量、表達(dá)式、運(yùn)算符等。
2、變量
變量:在javascript?中可以改變的量。也就是說在程序執(zhí)行的過程中,變量的值是可以改變的
變量的命名原則
變量由字母、下劃線、$或數(shù)字組成,并且第一個(gè)字母必須是字母、下劃線或者$
變量不能是系統(tǒng)關(guān)鍵字和保留字。
系統(tǒng)的關(guān)鍵字指JavaSript?本身已經(jīng)使用的名字。
保留字指JavaScript?本身還沒有使用的名字,但是他們有可能在將來會(huì)被使用。
2.1變量的聲明
在ES5中,變量使用var?來聲明
2.2變量的賦值
變量可以先聲明后賦值,比如var a;a=10
變量可以直接賦值,比如 var a =10
一個(gè)var?也可以同時(shí)聲明多個(gè)變量名,其中變量名之間必須用英文逗號(hào)隔開,? ? ? ? ? ? ? ? ? ? ? ?栗如 var a=10, b=30, c=60;
3.常量
指的是:一個(gè)不能改變的值,生命周期是從一個(gè)程序開始到一個(gè)一個(gè)程序結(jié)束。一般情況下,常量名全部大寫,比如 var ADD =1;
4.數(shù)據(jù)類型
類型識(shí)別
Undefined? 類型(未定義的值)
未初始化的變量
未聲明的變量
Null? 類型
如果一個(gè)變量的值值 null ,則表示系統(tǒng)沒有為這個(gè)變量分配內(nèi)存空間
從邏輯角度來說,null? 值表示空對象指針
Boolean? 類型(布爾值)
布爾值只有兩個(gè):true? 和? false
最大用途,用于條件的判斷
Number? 類型(數(shù)字)
在JavaScript?中不區(qū)分整形和浮點(diǎn)數(shù)
對于極大或者極小的數(shù)值,可以用科學(xué)計(jì)數(shù)法表示
NaN?非數(shù)值
任何涉及NaN?的操作(例如 NaN/10)都會(huì)返回NaN
NaN屬性是代表非數(shù)字值的特殊值。該屬性用于指示某個(gè)值不是數(shù)字??梢园袾umber?對象設(shè)置為該值,來表明其不是數(shù)字值。
請使用? isNaN ()?來判斷一個(gè)值是否是數(shù)字。因?yàn)镹aN?與所有值都不相等,包括他自己。
String類型 (字符串)
1.什么是字符串?
JavaScript?字符串用于存儲(chǔ)和處理文本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串可以存儲(chǔ)一系列字符,栗如“haha”? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?字符串是可以插入到引號(hào)中的任何字符,可以使用單引號(hào),也可以使用雙引號(hào)。? ? ? ? ? ? ? ? ? ? ? ? 可以使用索引位置來訪問字符串中的每個(gè)字符

字符串中的索引是從0開始的,也就是說第一個(gè)字符?的索引值是【0】,第二個(gè)是【1】,以此類推。? ? ?可以在字符串中使用引號(hào),字符串中的引號(hào)不要與引著字符串的引號(hào)相同(沒有先后順序)。
可以使用內(nèi)置屬性 length?來計(jì)算字符串的長度

特殊字符
在JavaScript?中,字符中寫在單引號(hào)后者雙引號(hào)中。
要不然類似于這樣的字符串是無法解析的?(,,???.???,,) "哇哈哈哈"啦啦"么么噠"
怎么解決呢???使用轉(zhuǎn)義字符就好了??(,,???.???,,)? "哇哈哈哈\"啦啦\"么么噠"
\? 就是轉(zhuǎn)義字符,就是將特殊的字符轉(zhuǎn)換為字符串字符。詳細(xì)見下表:

算數(shù)運(yùn)算符
數(shù)字+數(shù)字=數(shù)字
字符串+字符串=字符串
字符串+數(shù)字=字符串
"/"? 除法
"%" 求余? 10%4=2
"++"?自增
賦值運(yùn)算符
=
+=
var a += b? 等價(jià)于? var = a+b
-=
var a -= b? 等價(jià)于? var a = a-b
*=
var a* =b? 等價(jià)于? var a = a*b
/=
var a / = b? 等價(jià)于? var a = a / b
比較運(yùn)算符(結(jié)果為true?或者?false)

邏輯運(yùn)算符
&&? 且
運(yùn)算符 &&?兩邊,只要有一個(gè)不為真就返回?false
||? ?或
運(yùn)算符 ||?兩邊只要有一個(gè)為真就返回?true
!? 非
取反,返回布爾值。不是真就是假。不是假就是真。
條件運(yùn)算符(三目運(yùn)算)
var? a =?條件 ??表達(dá)式1? :表達(dá)式2
當(dāng)條件為true時(shí),a =?表達(dá)式1
但當(dāng)條件為false時(shí),?a =表達(dá)式2
表達(dá)式與語句
一個(gè)表達(dá)式包含“操作數(shù)”和“操作符”。栗如 a = b + a
語句就是用英文分號(hào)分開的代碼,一個(gè)分號(hào)就對應(yīng)一條語句 var a = 1 + 2; //這是一條語句,其中 a = 1 + 2?是一個(gè)表達(dá)式
類型轉(zhuǎn)換
流程控制
在JavaScript?中,有{}括起來的程序,我們稱之為“語句塊”。語句塊常用于選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)以及函數(shù)體中,JavaScript?把一個(gè)語句看成是一個(gè)整體來執(zhí)行。
順序結(jié)構(gòu)
單向選擇? if...
多向選擇? if...else...
雙向選擇? if...else if ...else...
if語句的嵌套
選擇結(jié)構(gòu)
if語句
switch?語句(switch?在實(shí)際開發(fā)中非常重要)
switch?語句是JavaScript?條件語句的一部分,用于根據(jù)不同的條件執(zhí)行不同的動(dòng)作。使用switch?從多個(gè)語句塊中選擇一個(gè)執(zhí)行。
switch?語句計(jì)算每個(gè)表達(dá)式。隨后每個(gè)表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè)case?的值作比較。如果存在匹配,則與改?case?關(guān)聯(lián)的代碼塊會(huì)被執(zhí)行。
switch?語句通常與break?或default?關(guān)鍵字一起使用。兩者都是可選的。
循環(huán)結(jié)構(gòu)
while? 語句
while(expression)statement