JS中的資料型別小結

2022-01-31 16:43:30 字數 3264 閱讀 1944

首先說說js資料型別的分類。分為標準型和typeof型別(即控制台列印,瀏覽器區分)

標準型:基本型別中有:number、string、boolean、undefined、null  復合型別:object (物件,array陣列也算在裡面了)。

typeof型:number、string、boolean、undefined、function、object 。

以上兩者主要區分為: 公共的都有number(nan也是number型別中的)、string、boolean、undefined、object(包含了array和null) , typeof裡的有function即函式。然後null  typeof型別其實也是object。在標準型中,它是特殊的乙個,叫空物件。空物件做不了屬性操作同時不能新增自定義屬性,也沒有方法,這裡需要特別注意的是它跟空陣列的區別,空陣列雖然也是物件型別,但不能把它跟空物件混為一談,因為它本身是有屬性和方法的,只是暫時內部沒有成員而已。陣列本身也是有下標有長度的,物件是不具有下標和長度一說的。

資料型別中的方法

1.parseint   從左向右去檢視需要轉換的目標,如果碰到一位是非數字的,結束執行,返回之前的數字。 parseint   (100px)=100;

2. parsefloat 從左向右去檢視需要轉換的目標,如果碰到一位是非數字的,結束執行,返回之前的數字,可識別小數點。parsefloat (.12px)=0.12,parsefloat (13.24abc)=13.24

3.number 強制轉換 從左向右看完所有的字元,如果符合數字規則就轉換它,不然就轉為nan. number (false)=0,number(null)=0,number(document)=nan,轉換空字串結果也為0,帶空格的字串也為0, 空物件則為nan。轉換undefined則為nan.特殊情況面對陣列時,如果陣列為空,則結果為0,如果陣列只有乙個成員,則用這個成員去轉換,如果陣列成員為多個時,則為nan。number(.12)=0.12.

4.字串轉換方法 var a=123, a=a.tostring()或者a=string(a)

5.boolean 布林值轉換  它對空字串的轉換為false,空格字串則為true。真:true,非空字串,非0數字,非空物件,假: false, 空字串,0,nan,null,undefined。

6 強制型別轉換,或者顯示型別轉換

parseint/parsefloat/number

7  隱式型別轉換:

瀏覽器自己進行轉換,其他型別轉換成數字,主要調去number

+,+=

1. 當加號左右兩測有一位是字串是,會把另外一也轉成字串

2. 使用+號時,兩邊沒有字串時,優先嘗試把左右兩側都轉換成數字,如果不能轉換成數字就轉換成字串進行連線

-,*,/,%,-=,*=,/=,%=

運算子左右兩側轉換成數字進行運算

例子:var a = 10;

var b = "10";

console.log(a + b);

// + 號 碰到字串的時候,就會把兩側的內容都轉換成字串,執行字串連線

var a = 10;

var b = true;

console.log(a + b);

// + 號的兩側沒有字串,則優先轉換成數字,進行+法運算

var a = 10;

var b = function(){};

console.log(a + b);

// + 號的兩側沒有字串,則優先轉換成數字,進行+法運算,如果不能轉換成數字,則轉換成字串進行字串連線。

-,*,/,% 這些運算子都是只有數字運算的功能,所以在使用的時候,都會去把其他型別轉換成數字。

關係運算子

<、>、<=、>=、==、!=、===、!==

比較後都會返回布林值

== 和 ===,以及 !=和!==的區別

== 和 != 會進行隱式型別轉換,把左右兩側的資料型別轉換成一樣的之後,再去比較

===和!== 進行比較的時候,也會比較資料型別,資料型別不一樣的話,即使值一樣,也是false.

&& 與、|| 或、! 否  返回的結果都是 true和 false

簡短總結歸類:

資料型別:

1. 標準劃分:

基本型別: number/string/boolean/undefined/null

物件型別(復合型別):object(包含array)

2. typeof(運算子,檢視資料型別):

number:

number.positive_infinity 正無窮

number.negative_infinity 負無窮

從負無窮到正無窮的數字以及nan

string:

包含在引號''中的一串字元

undefine:

無定義boolean: 

true、false

object: 

array、object、element、null

function :   

null:空物件 (null不能進行屬性操作)資料型別: object

nan: 非數字

1. nan不等於任何東西,並且不等於它自己

2. 檢測乙個內容是否是nan的時候,可以使用isnan();

3. 資料型別:number

4. isnan() return: true/false, isnan隱式呼叫了number

強制型別轉換:

強制轉換為數字:

parseint(要轉換的內容)、parsefloat(要轉換的內容)

從左向右一位位轉換,碰到一位非數字,就把之前的內容提取出來,如果第0位就是非數字,結果nan

number(要轉換的內容):

先看完整個內容,然後整體去轉換數字

1. true 1/false 0;

2. 0

3. ["2"] 轉換陣列的第0位

4. [2,3] 轉換nan

返回值都是乙個數字

強制轉換為字串

1. 要轉換的內容.tostring()

2. string(要轉換的內容)

強制轉換為布林值:

boolean(要轉換的內容);

1. 真: true、非0數字、非空物件、非空字串

2. 假: false、nan、0、null、空字串、undefined

JS 資料型別小結

nan 不等於任何值,包括他本身。es5 中 parseint 只能通過制定技術解析八進位制,如 parseint 033 8 parsefloat 只解析十進位制的值,只解析乙個小數點,出現第二個小數點即停止解析。字串一但建立,它們的值就不能改變。tostring index 中 index 為基...

JS資料型別小結

基本資料型別 undefined null boolean number string undefined型別只有乙個值,即特殊的undefined。在使用var宣告變數但未對其加以初始化時,這個變數的值就是undefined var message console.log message unde...

JS中的資料型別

js中的資料型別分為兩種 基本資料型別和引用資料型別 基本資料型別 number boolean string undefined null symbol es6中新增 引用資料型別 object array function date regexp 等 講區別之前,需要先了解堆 heap 和棧 s...