JavaScript基本文法

來源:互聯網
上載者:User

標籤:減法   衝突   nan   單引號   導致   rip   情況   --   可維護性   

1. 在HTML裡面加入JavaScript

方法非常簡單,就是通過一對<script></script>標籤,然後在標籤裡面書寫代碼即可

 

2. 標籤位置

按照以前傳統的方法,我們的script標籤都是放在head標籤裡面的。但是由於瀏覽器進行渲染的時候是由上往下進行渲染,這樣會導致瀏覽器在呈現頁面的時候出現延遲。延遲的時候就是空白,影響使用者體驗。所以現在的方法,都是講script標籤寫body裡面,元素的後面。

 

3. 外部JS檔案

1)可維護性高

2)可緩衝:例如有兩個HTML檔案(A,B)都是用的同一個JS檔案。當使用者請求A頁面的時候,A頁面的HTML檔案和JS檔案一起被下載到本地。接下來使用者再請求B頁面的時候,只需要下載B頁面的HTML頁面即可,因為JS檔案已經有了。

 

4. JavaScript文法

1)JavaScript區分大小寫

test和Test表示不同變數

2)標識符

JavaScript裡面的標識符由數字,字母,底線(_)和$組成,不能以數字開頭

3)注釋

JavaScript注釋有兩種:多行注釋和單行注釋

 

4)關鍵字

所謂關鍵字,就是系統已經定義好了的標識符。我們不能夠使用關鍵字來作為我們的標誌符。

關鍵字與保留字:所謂保留字,就是目前還沒有成為關鍵字,但是有可能在下一個版本成為關鍵字的一些標識符。我們也不能使用保留字來作為我們的標識符

 

5)變數

JavaScript是一門弱類型語言。JavaScript裡面申明任何資料類型都用一個var就可以了

5. JavaScript裡面的資料類型

JavaScript支援5種簡單的資料類型:number,string,boolean,undefined,null。

number:數字類型

string:字串類型

boolean:布爾類型

undefined:定義了一個變數但是沒有被賦值

null:表示是一個空

 

undefined:表示一個變數定義了但是沒有被賦值

 

效果:

null:表示是一個空的對象。事實上我們的undefined就是從null上派生而來的。

 

boolean:布爾類型

布爾類型的值只有兩個:true和false。這兩個值是區分大小寫。

 

number類型:這個資料類型包含了整數和實數,NaN

 

八進位一般以0開頭,十六進位一般以0x開頭

在JavaScript裡面,無論幾進位,最終計算結果都是以十進位來呈現

 

結果:最終都是以十進位的形式來顯示結果

實數:所謂實數,通俗的講,就是小數,當然也被稱之為浮點數。我們的浮點數有兩種表示方法:小數型,科學計數型

 

數值範圍:由於我們的記憶體是有限的,所以並不能儲存所有的數。

 

如果超出我們JavaScript所支援的數值範圍,則會變成無窮大(infinity)或者無窮小(-infinity)

 

結果:

 

所謂NaN,英語全稱Not a number,表示不是一個數。如果任何一個數和NaN進行操作的話,返回的會是NaN

 

會彈出NaN。注意:NaN的資料類型也是number

NaN與任何值都不相等,包括它自己本身

 

結果:彈出false

isNaN():判斷一個參數是否不是一個數

例如:

 

返回結果會是false。因為1234是一個數,所以它不是NaN,所以返回false

 

數值轉換

number(),parseInt(),parseFloat()

number():將一個非數值轉換為數值

如果是一個布爾值,要麼被轉換為1,要麼被轉換為0

如果是數字,那麼該是多少,就是多少

如果是null值,會被轉換為0

如果是undefined,會被轉換為NaN

 

字串轉換為數字:

如果字串裡面只包含數字,那麼只會被轉換為十進位

 

如果字串為空白,將會被轉換為0

如果有字母,那麼就將會被轉換為NaN

如果字串是八進位,那麼會忽略前面的0,但是如果是16進位的話,會轉換為相應的十進位數

 

parseInt():該函數會更多的看是否有數字。如果有就會被轉換為數字。如果字串為空白,將會被轉換為NaN。還有一點就是,如果是3.14,那麼會被轉換為3

 

事實上,我們parseInt()函數提供了第二個參數。指定轉換為幾進位

 

樣本2:

 

parseFloat():該函數只能解析10進位,所以沒有第二個參數。會將帶有小數點的字串轉換為小數。

 

 

string資料類型

string就是字串資料型別。在JavaScript裡面,字串既可以用單引號也可以用雙引號

 

字串內容本身如果含有單引號,那麼外層就必須是雙引號,如果內容本身是雙引號,外層就需要是單引號

 

如果想內容和外層都是單引號或者雙引號,那麼就需要加上逸出字元

 

字串資料型別非常的霸道。只要字串資料型別和其他資料類型一相加,就都變為了字串資料型別

 

最終i的資料類型變為了string。

所以,這裡有一個技巧,如果想讓其他資料類型變為字串資料型別,只需要加一個Null 字元串就可以了。

 

toString():就是將其他資料類型轉換為字串資料型別(但是不能轉換null和undefined)

 

String():5種資料類型都可以轉換為string類型

 

 

運算子

1. 一元運算子

只能操作一個值的操作符就被稱為一元運算子。自增和自減就是典型的一元運算子。

a++(a--)和++a(--a)

a++:先進行運算,然後再自增1

++a:先自增1,然後再參與運算

 

在JavaScript裡面,自增自減不僅僅局限於數值,其他類型也可以。

如果是一個包含有效數位字串,會先將其轉換為數字,再執行加1或者減1的操作。字串變數變為了數值變數。

 

如果運用於一個包含字母的字串的時候,會被轉換為NaN

如果是布爾值false,會被轉換為0,然後再執行加1或者減1的操作。最終得到的資料類型number型

 

如果是布爾值true,會被轉換為1,然後再執行加1或者減1的操作。最終得到的資料類型number型

浮點型資料,和數學計算一樣。

 

 

2. 布林運算子

1)非

非真即假,非假即真,相當於一個取反的過程。

2)與

就是兩個條件都要滿足。在JavaScript中,與運算子存在短路現象。第一個運算元為假的話,就不會再對第二個運算元進行判斷。

與操作符不一定返回的是真或者假,而是返回第二個運算元

 

如果第一個運算元是null,則返回null

如果第一個運算元是NaN,則返回NaN

如果第一個運算元是undefined,則返回undefined

3)或

或運算子也存在短路現象,如果第一個運算元為真,那麼就不會再對第二個運算元進行判斷。

如果兩個都為真,則返回第一個運算元

 

如果都是null,則返回null

如果都是NaN,則返回NaN

如果都是undefined,則返回undefined

 

3. 乘性運算子

1)乘法

 

2)除法

3)模數

所謂模數,就是取一個數的餘數

 

4. 加性運算子

1)加法

著重強調:字串資料型別和其他類型進行相加時,最終得到字串資料型別

2)減法

JavaScript裡面會進行自動的資料類型轉換。

 

5. 關係運算子

大於,小於,大於等於,小於等於

如果是數的比較,那就不用說了

 

主要需要注意:字串之間的比較,是按照ascii進行比較的。

 

如果是字串和數字進行比較,如果字串是有效數字,那麼會將字串轉換為數字

 

如果是字母,那麼會先將其轉換為NaN

 

 

6. 相等運算子

1)==和!=

1. null和undefined是相等的。

2. 如果有一個運算元是NaN,那麼返回false,另外NaN也不等於自己本身

3. 如果是數位字串和數字進行比較,會先將字串轉換為數字

4. 布爾值裡面true轉為1,false轉為0

 

2)===和!==

數值和資料類型都必須相等才會為true,否則為false

 

 

7. 條件運算子

條件運算子又被稱為三元運算子或者三目運算子

文法:  變數 = 運算式1 ? 運算式2 : 運算式3

 

 

8. 賦值運算子

=:和數學裡面的=不一樣,這裡代表賦值。

*=

/=

+=

-=

%=

 

 

9. 逗號運算子

使用逗號運算子可以在一條語句中執行多個操作。

 

逗號運算子總會返回運算式的最後一項。

 

語句

① 判斷語句

if語句的單分支情況

if(條件)

{

//代碼

}

 

if語句的雙分支情況

if(條件)

{

//代碼

}

else{

//代碼

}

if語句的多分支情況

if(條件)

{

//代碼

}

else if{

//代碼

}

else if{

//代碼

}

else{

//代碼

}

多分支的if語句存在一個跳樓現象

 

 

② 迴圈語句

1. for 迴圈

for(運算式1;運算式2;運算式3)

{

//代碼

}

 

//如果有什麼衝突請見諒。

JavaScript基本文法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.