標籤:減法 衝突 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基本文法