基本資料型別(值型別)
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...