1.數據類型
-
JS中一共分成六種數據類型
- String 字符串
- Number 數值
- Boolean 布爾值
- Null 空值
- Undefined 未定義
- Object 對象-
其中基本數據類型有
- String 字符串
- JS中的字符串需要使用引號引起來雙引號或單引號都行
-
在字符串中使用\作爲轉義字符
’ ==> ’
" ==> "
\n ==> 換行
\t ==> 製表符
\ ==> \ -
使用typeof運算符檢查字符串時,會返回"string"
-
- Number 數值
- JS中的字符串需要使用引號引起來雙引號或單引號都行
-
JS中所有的整數和浮點數都是Number類型
- 特殊的數字
Infinity 正無窮
-Infinity 負無窮
NaN 非法數字(Not A Number)
- 其他進制的數字的表示:
0b 開頭表示二進制,但是不是所有的瀏覽器都支持
0 開頭表示八進制
0x 開頭表示十六進制- 使用typeof檢查一個Number類型的數據時,會返回"number" (包括NaN 和 Infinity)
- Boolean 布爾值
-
布爾值主要用來進行邏輯判斷,布爾值只有兩個
- true 邏輯的真
- false 邏輯的假
- 使用typeof檢查一個布爾值時,會返回"boolean"- Null 空值
- 空值專門用來表示爲空的對象,Null類型的值只有一個
- null
- 使用typeof檢查一個Null類型的值時會返回"object"
- Undefined 未定義
- 如果聲明一個變量但是沒有爲變量賦值此時變量的值就是undefined
- 該類型的值只有一個 undefined
- 使用typeof檢查一個Undefined類型的值時,會返回"undefined"
- 空值專門用來表示爲空的對象,Null類型的值只有一個
-
引用數據類型
- Object 對象
- 類型轉換
-
類型轉換就是指將其他的數據類型,轉換爲String Number 或 Boolean
-
轉換爲String
-
方式一(強制類型轉換):
- 調用被轉換數據的toString()方法
- 例子:
var a = 123;
a = a.toString(); - 注意:這個方法不適用於null和undefined
由於這兩個類型的數據中沒有方法,所以調用toString()時會報錯
-
方式二(強制類型轉換):
- 調用String()函數
- 例子:
var a = 123;
a = String(a); - 原理:對於Number Boolean String都會調用他們的toString()方法來將其轉換爲字符串,
對於null值,直接轉換爲字符串"null"。對於undefined直接轉換爲字符串"undefined"
-
方式三(隱式的類型轉換): *****
- 爲任意的數據類型 +""
- 例子:
var a = true;
a = a + “”; - 原理:和String()函數一樣
-
-
轉換爲Number
-
方式一(強制類型轉換):
- 調用Number()函數
- 例子:
var s = “123”;
s = Number(s); - 轉換的情況:
1.字符串 --> 數字
- 如果字符串是一個合法的數字,則直接轉換爲對應的數字
- 如果字符串是一個非法的數字,則轉換爲NaN
- 如果是一個空串或純空格的字符串,則轉換爲0
2.布爾值 --> 數字
- true轉換爲1
- false轉換爲0
3.空值 --> 數字
- null轉換爲0
4.未定義 --> 數字
- undefined 轉換爲NaN
-
方式二(強制類型轉換):
-
調用parseInt()或parseFloat()
-
這兩個函數專門用來將一個字符串轉換爲數字的
-
parseInt()
- 可以將一個字符串中的有效的整數位提取出來,並轉換爲Number
- 例子:
var a = “123.456px”;
a = parseInt(a); //123 - 如果需要可以在parseInt()中指定一個第二個參數,來指定進制
-
parseFloat()
- 可以將一個字符串中的有效的小數位提取出來,並轉換爲Number
- 例子:
var a = “123.456px”;
a = parseFloat(a); //123.456
-
-
方式三(隱式的類型轉換):
-
使用一元的+來進行隱式的類型轉換
-
例子:
var a = “123”;
a = +a; -
原理:和Number()函數一樣
-
-
-
轉換爲布爾值
-
方式一(強制類型轉換):
-
使用Boolean()函數
-
例子:
var s = “false”;
s = Boolean(s); //true -
轉換的情況
字符串 --> 布爾
- 除了空串其餘全是true數值 --> 布爾
- 除了0和NaN其餘的全是truenull、undefined —> 布爾
- 都是false對象 —> 布爾
- 都是true
-
-
方式二(隱式類型轉換):
- 爲任意的數據類型做兩次非運算,即可將其轉換爲布爾值
- 例子:
var a = “hello”;
a = !!a; //true
-
-
-
運算符
-
運算符也稱爲操作符
-
通過運算符可以對一個或多個值進行運算或操作
-
typeof運算符
- 用來檢查一個變量的數據類型
- 語法:typeof 變量
- 它會返回一個用於描述類型的字符串作爲結果
-
算數運算符
- 對兩個值進行加法運算並返回結果
- 對兩個值進行減法運算並返回結果
- 對兩個值進行乘法運算並返回結果
/ 對兩個值進行除法運算並返回結果
% 對兩個值進行取餘運算並返回結果
- 除了加法以外,對非Number類型的值進行運算時,都會先轉換爲Number然後在做運算。
- 而做加法運算時,如果是兩個字符串進行相加,則會做拼串操作,將兩個字符連接爲一個字符串。
- 任何值和字符串做加法,都會先轉換爲字符串,然後再拼串
-
一元運算符
-
一元運算符只需要一個操作數
-
一元的+
- 就是正號,不會對值產生任何影響,但是可以將一個非數字轉換爲數字
- 例子:
var a = true;
a = +a;
-
一元的-
- 就是負號,可以對一個數字進行符號位取反
- 例子:
var a = 10;
a = -a;
-
自增
- 自增可以使變量在原值的基礎上自增1
- 自增使用 ++
- 自增可以使用 前++(++a)後++(a++)
- 無論是++a 還是 a++都會立即使原變量自增1
不同的是++a和a++的值是不同的,
++a的值是變量的新值(自增後的值)
a++的值是變量的原值(自增前的值)
-
自減
- 自減可以使變量在原值的基礎上自減1
- 自減使用 –
- 自減可以使用 前–(--a)後–(a–)
- 無論是–a 還是 a–都會立即使原變量自減1
不同的是–a和a–的值是不同的,
–a的值是變量的新值(自減後的值)
a–的值是變量的原值(自減前的值)
-
-
-