&3.1
js的5種基本數(shù)據(jù)類型:
1.
undefined:未定義
2.null:空對象
3.Boolean:布爾值
4.Number:數(shù)值
5.String:字符串
js的復(fù)雜數(shù)據(jù)類型:
6.
object:對象
typeof 操作符:
用來檢測給定變量的數(shù)據(jù)類型
返回值除了以上6種,還有一個function
undefined 類型
只有一個值,就是undefined
舉個例子:
var message; //這個變量聲明了之后沒有賦值,默認值為undefined
//下面這個變量被注釋掉了,所以并沒有聲明
// var age
alert(typeof message)//"undefined"
alert(typeof age)//"undefined"
Null 類型
1.Null類型是第二個只有一個值的數(shù)據(jù)類型,這個值就是null
- typeof null結(jié)果是object,因為null表示一個空對象指針
var car = null;
typeof(car)//object
3.實際上,undefined值是派生自null值的,因此ECMA-262規(guī)定對他們的相等性測試要返回 true
alert(null == undefined)// true
NaN
NaN,即非數(shù)值(Not a Number),這個數(shù)值用于表示一個本來要返回數(shù)值的操作數(shù)未返回數(shù)值的情況(這樣就不會拋出錯誤了)
NaN有兩個特點:
1.
NaN/10 ==> NaN
2.
alert(NaN == NaN);// false
parseInt與parseFloat
parseInt(參數(shù)1,參數(shù)2);
參數(shù)1:要轉(zhuǎn)換成數(shù)值的字符串
參數(shù)2:要轉(zhuǎn)換的基數(shù);實際上就是字符串里面數(shù)字是按照10進制,還是8進制,還是16進制進行輸出
舉個例子:
var num = parseInt("070",8) //56
var num = parseInt("070") //70;ECMAScript5 認為是70,按照十進制輸出
var num = parseInt('0xAF',16) //175
var num = parseInt('0xAF') //0
var num = parseInt('AF') //NaN
var num = parseInt('AF',16) //175
parseFloat(參數(shù)1):
1.parseFloat只解析10進制值,因此他沒有第二個參數(shù)
2.parseFloat只解析第一個小數(shù)點,之后遇到非數(shù)字或者第二個小數(shù)點,則截止;
var num1 = parseFloat('1234blue') //1234(整數(shù))
var num2 = parseFloat('0xA') //0
var num3 = parseFloat('22.5') //22.5
var num4 = parseFloat(22.34.25gd) //22.34
var num5 = parseFloat(0908.5) //908.5
var num6 = parseFloat('3.125e7') //31250000