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