一、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...