javascript
8、JavaScript深入浅出——数据类型
一、六種數(shù)據(jù)類型
Javascript是弱類型。
五種原始類型和一種對象類型:
- number
- String
- boolean
- null
- undefined
- Object
二、隱式轉(zhuǎn)換
- +與-的運(yùn)算舉例:
+運(yùn)算符可將數(shù)字轉(zhuǎn)字符,如“37”+37 //3737?
-運(yùn)算符可將字符轉(zhuǎn)數(shù)字,如“37”-37 //0
- ==和嚴(yán)格等于(===) 的舉例:
?
嚴(yán)格等于===,必須等號兩邊數(shù)據(jù)類型相同。(嚴(yán)格等于會首先判斷類型)
例外:NaN 不等于 NaN(Not a Number)
new Object 不嚴(yán)格等于 new Object
注意“==”和“===”的區(qū)別:1. 類型相同時,“==”和“===”相同
?2. 類型不同時,“==”會嘗試類型轉(zhuǎn)換和比較:
三、包裝對象
包裝對象:
包裝對象,就是當(dāng)基本類型以對象的方式去使用時,JavaScript會轉(zhuǎn)換成對應(yīng)的包裝類型,相當(dāng)于new一個對象,內(nèi)容和基本類型的內(nèi)容一樣,然后當(dāng)操作完成再去訪問的時候,這個臨時對象會被銷毀,然后再訪問時候就是undefined。number,string,boolean都有對應(yīng)的包裝類型。
(1)number,string,boolean都有對應(yīng)的包裝類型
eg:var str="string";//字符串類型
var strObj=new String("string")//對象類型,String類型對應(yīng)的包裝類
?
四、類型檢測
類型檢測的方法:
- typeof
typeof運(yùn)算符會返回一個字符串,比較適合基本類型以及函數(shù)對象的判斷,但是對于其他對象類型就沒辦法判斷了
注:為什么 typeof null ==="object" ?(可能因為歷史原因或者兼容性原因)
- instanceOf
用于判斷對象類型。檢測某一對象是否事某一構(gòu)造函數(shù)構(gòu)造的,或者有繼承關(guān)系(prototype)。?
obj instanceOf Object (左操作數(shù) 是一個對象 ,右操作數(shù) 右邊是一個函數(shù)對象)
判斷對象是否相等,是按照引用去判斷的。(在 不同的 window, iframe 間失效)
注意:
- Object.prototype.toString
基本類型,(null/undefined 在IE6/7/8返回[object object])及array, function 的檢測。
【類項檢測小結(jié)】
轉(zhuǎn)載于:https://www.cnblogs.com/Qian123/p/5241950.html
總結(jié)
以上是生活随笔為你收集整理的8、JavaScript深入浅出——数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring预处理
- 下一篇: tablib把数据导出为Excel、JS