資料型別和轉換

2021-08-25 08:03:17 字數 4201 閱讀 3948

1.資料型別

- js中一共分成六種資料型別

- string 字串

- number 數值

- boolean 布林值

- null 空值

- undefined 未定義

- object 物件

- 其中基本資料型別有

- string 字串

- js中的字串需要使用引號引起來雙引號或單引號都行

- 在字串中使用\作為轉義字元

\』 ==> 』

\」 ==> 」

\n ==> 換行

\t ==> 製表符

\ ==> \

- 使用typeof運算子檢查字串時,會返回"string" 

- number 數值

- 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"

- 引用資料型別

- 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);

- 方式三(隱式的型別轉換):

- 使用一元的+來進行隱式的型別轉換

- 例子:

var a = "123";

a = +a;

- 原理:和number()函式一樣

- 轉換為布林值

- 方式一(強制型別轉換):

- 使用boolean()函式

- 例子:

var s = "false";

s = boolean(s); //true

- 轉換的情況

字串 --> 布林

- 除了空串其餘全是true

數值 --> 布林

- 除了0和nan其餘的全是true

null、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--的值是變數的原值(自減前的值)

資料型別和型別轉換

整數型 byte,short,int,long,char 浮點型 float,double 浮點型別的資料預設是double型別。轉義字元 n換行 b退格 r回車 t製表 雙引號 單引號 char型別的資料使用 單引號 string型別的資料使用 雙引號 double 雙精度 64位 佔8位元組,f...

go 資料型別和型別轉換

數字型別包括整型和浮點型,內建的和系統無關的數字型別包括 和系統有關的型別有 組成每個字串的元素叫做 字元 可以通過遍歷或者單個獲取字串元素獲得字元 var a 中 var b x go 語言的字元有以下兩種 uint8型別,或者叫 byte 型,代表了ascii碼的乙個字元。rune型別,代表乙個...

資料型別補充和轉換

str 字串 定義 s s str capitalize 首字母大寫 title 每個單詞的首字母大寫 count 統計 swapcase 大小寫轉換 find 從左到右查詢元素,返回元素的索引值,找不到返回 1 推薦使用 index 查詢元素索引 找不到會報錯list 列表 定義 li li li...