JS中的資料型別及檢測

2021-09-12 20:24:01 字數 2430 閱讀 7121

基本資料型別(值型別)

number:數字

string:字串

boolean:布林

null:空物件指標

undefined:未定義

引用資料型別

1、 object物件資料型別

{}普通物件

陣列/^katex parse error: expected 'eof', got '\d' at position 179: …12,23,34] /^-?(\̲d̲([1-9\d+))(\.\d…/

function fn(){}

這麼多資料型別js如何去檢測呢?

-typeof:檢測資料型別的運算子

-instanceof:檢測某個例項是否屬於這個類

-constructor:獲取當前例項的構造器

-object.prototype.tostring.call:獲取當前例項的所屬類資訊

typeof

使用typeof 檢測,返回的結果是乙個字串,字串中包含的內容證明了值是屬於什麼型別的;

【侷限性】

1、 typeof null 的結果不是「null" 而是」object「 : 因為null雖然是單獨的乙個資料型別,但是它原本意思是空物件指標,瀏覽器使用typeof檢測的時候會把它按照物件來檢測

2、 無法具體細分出到底是陣列還是正則,因為返回的結果都是「object」

typeof 12 =>「number」

typeof 「hehe」 =>「string」

typeof true =>「boolean」

typeof null =>「object」

typeof undefined =>「undefined」

typeof =>「object」

typeof function(){} =>「function」

typeof =>「object」

typeof /^$/ =>「object」

console.log(typeof typeof ); => 「string」

布林型別詳細解讀

boolean()

把其他資料型別的值轉換為布林型別

只有 』 0、nan 、空字串 、null 、undefined 『 這五個資料值轉換為布林型別的false,其餘的都會變為true;

!!=   不等於

嘆號在js中還有乙個作用:取反,先把值轉換為布林型別,然後再去取反

!1 =>  false;

! =>  false;

!0 =>  true;

!!在乙個嘆號取反的基礎上再去反,去兩次反相當於沒有做操作,但是卻已經把其他型別值轉換為布林型別了,和boolean是相同的效果。

!!1 => true;

!!=> true;

!!0 => false;

字串在js中 單引號 和 雙引號 包起來的都是字串

12 ->  number

『12』 -> string

「[12,13]」 -> string

常用方法:

charat  charcodeat

substr substring alice

touppercase tolowercase

indexof lastindexof

split

replace

match

…number數字

0 , 12 , -12 , 12.5 ,    js中多增加了乙個number型別的資料:nan

typeof nan ->  「number」

nannot a number :不是乙個數,但是資料number型別

nan == nan  // false ,  nan和任何其他值都不相等

isnan()

用來檢測當前這個值是否是非有效數字,如果不是有效數字檢測的結果是true,反之是有效數字則為false;

isnan(0)  =>  false

isnan(nan)  =>  true

isnan(「12」)  =>  false  當我們使用isnan檢測值得時候,檢測的值不是number型別的,瀏覽器會預設的把值先轉換為number型別,人後再去檢測

number()

把其他資料型別值轉換為number型別的值

number(「12」) -> 12

number(「12px」) -> nan   // 在使用number轉換的時候只要字串**現任何乙個非有效數字字元,最後的結果都是nan

number(true) -> 1

number(false) -> 0

number(null) -> 0

number(undefined) -> nan

​number() -> 0  ->  把引用資料型別轉換為number,首先要把引用資料型別轉換為字串(tostring),再把字串

js 資料型別 js中檢測資料型別的方法彙總

回顧一下js中資料型別分為兩大類,基礎型別和引用資料型別,主要有 基本資料型別 複雜資料型別 檢測js中的資料型別常用的方法有 typeof instanceof object.prototype.tostring 對比一下這三種方法的優缺點 typeof 5 number 有效typeof dsd...

js檢測資料型別

要檢測乙個變數是不是基本資料型別?typeof 操作符是最佳的工具。說得更具體一 點,typeof 操作符是確定乙個變數是字串 數值 布林值,還是undefined 的最佳工具。如果變 量的值是乙個物件或null,則typeof 操作符會像下面例子中所示的那樣返回 object var s nich...

JS資料型別檢測

在js的日常使用中,經常需要檢測資料的型別,現在,就來看一下,js有哪些方法可以檢測資料的型別。typeof操作符返回乙個字串,表示未經計算的運算元的型別。typeof是js原生提供用來檢測型別的api,然而,並沒有什麼用。為什麼呢?因為,typeof不能準確地檢測出我們所想要知道的資料的型別。ty...