js資料型別轉換

2022-09-15 23:12:20 字數 2911 閱讀 8786

一、js資料型別分類以及判斷方法:

js有6種資料型別:

number

string

boolean

function

object 

undefined   

資料型別判斷:

typeof 操作符

使用typeof操作符來檢視 j**ascript 變數的資料型別。typeof 返回值有六種可能: "number," "string," "boolean," "object," "function," 和 "undefined."

請注意:

例項:typeof "john"                 // 返回 string 

typeof 3.14                   // 返回 number

typeof nan                    // 返回 number

typeof false                  // 返回 boolean

typeof [1,2,3,4]              // 返回 object

typeof   // 返回 object

typeof new date()             // 返回 object

typeof function () {}         // 返回 function

typeof mycar                  // 返回 undefined (如果 mycar 沒有宣告)

typeof null   

2、constructor屬性

constructor屬性返回所有 j**ascript 變數的建構函式。可以用它來彌補typeof不能區分array和data型別的缺陷

你可以使用 constructor 屬性來檢視物件是否為陣列 (包含字串 "array"):

function isarray(myarray)

你可以使用 constructor 屬性來檢視物件是否為日期 (包含字串 "date"):

function isdate(mydate)

二、資料型別轉化

1、顯式轉化(強制型別轉換)  

1)全域性方法:number() 轉換為數字, string() 轉換為字串, boolean() 轉化為布林值。(parseint 和 parsefloat也算)                                          2) tostring()方法:

date/number/boolean物件中均有對應的tostring()方法可以將相應物件轉化為字串

例如:obj = new date()

obj.tostring()   // 返回 thu jul 17 2014 15:38:19 gmt+0200 (w. europe daylight time)

ps:直接使用data()也可以輸出相同的字串

3)date物件中的gettime()方法可以將date轉化為number  

4)一元運算子「+」可以將 字串物件/日期物件/布林物件轉化為數字          

2、隱式型別轉化

1)算數運算子會產生隱式型別轉化

● 「+」 運算子   

boolean、number、string三者任意兩種資料相加,轉化優先順序為:string>number>boolean·

(如果加號兩邊都是字串型別,則只是簡單的字串拼接(陣列也一樣);如果只有"+"右邊有資料即類似 +」11「時,所有的資料型別都要轉化為number型別(陣列先轉字串,再轉數字)) 函式function與參與運算會先轉化為字串再運算  

●「-」、「*」、「/」、%運算子 

使用減號、乘號、除號、取餘運算子運算時,都是將兩邊的資料先轉化為number,然後再進行運算

ps:"+"和"-"運算子前面不一定有資料(例如寫成:+「11」也可以),但是"*"、"/"、"%"運算子,運算子兩邊必須都有資料才行,否則報錯  

2)邏輯運算子

●邏輯運算子"&&"、"||"、"!",會將資料轉化為boolean型別 

"!"取反運算子會想將資料 轉化為boolean型別,然後再取反; eg: var a = ' '; console.log( !a)  ====> true

分析:1)先將a轉化為布林型別,boolean(a)===>false;2)取反  ==>true

"&&" 並運算子:從左到右對&&兩側的變數進行布林判斷,返回第乙個布林值為false的元素,如果不是布林型別則進行 boolean型別的隱式判斷。(如果遇到這樣的元素,後面的元素就不會執行了!),如果沒有布林值為false的元素,則返回最後乙個元素!記住:是返回這個元素而不是隱式boolean型別判斷後的布林值!!

eg:1、1 && 0   ==>  0

2、2 && a &&false   ==> 報錯:a沒有被定義;

3、2 && false && a   ==>false,不報錯  因為遇到了false,就返回false,後面的a就不會被判斷了,所以及時a沒有被定義也不會報錯

"||" 或運算子 的判斷和&&差不多,返回第乙個boolean值為true的元素!如果沒有則返回最後乙個元素

3) "==" 相等性判斷符號  會隱式呼叫number() 方法  1=="1" ===>true

JS資料型別轉換

js var blue alert scolor.length outputs 4 js varfalse alert bfound.tostring outputs false js varvar outputs 10 js var outputs a js var var var var ret...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...