一、javaScript數據類型
5種基本數據類型
1. undefined
2. null
3. boolean
4. Number
5. String
以及一種複雜數據類型 object
- undefined 類型只有一個值,即undefined。表示聲明但未初始化的變量值
- null 類型是第二個只有一個值的類型,即null。表示空對象指針。
使用typeof 操作符的時候會返回 object 。
null == undefined // true 儘管如此,在需要用到的時候,最好還是顯示聲明變量 = null;
null === undefined //false - boolean 在js中,該類型只有兩個值,即 true 、false;
- Number
a: 首位爲0,表示八進制數。首位爲0x 表示爲十六進制數。永遠不要對某個特定的浮點值進行測定。如 0.1+0.2 == 0.3 // false
b: 正無窮: Infinity,負無窮: -Infinity ;
isFinite( ) 函數可用來測定數字是否在數值範圍內
c: NaN 表示 not a number .任何NaN 有關的操作都會返回NaN,NaN與任何值都不想等,包括自身。例:5 / 0 // NaN;除數爲0,返回NaN
d: 數值轉換。
將非數值轉化爲數值:
Number() 函數將會把null轉化爲0,undefined轉化爲NaN,空字符串轉化爲 0 ,其他字符串(如果該字符串不是完全由數字字符組成)轉化爲 NaN;
parseInt( ) 函數則將會把空字符串轉化爲 NaN。該函數在進行轉化時會對字符串進行逐字識別,直到遇到不能識別的非數字字符。
該函數可以指定第二個參數:表示轉化時使用的基數,即多少進制。如 parseInt("10", 2) // 2(按二進制解析)
parseFloat() 與parseInt() 函數類似,會識別字符串直到遇到無效浮點數字符。 如 parseFloat(23.3.3) // 23.3 (第二個小數點將會被認爲無效)
不提供第二個參數,且該函數時鐘都會忽略0, 如 parseFloat(020) // 0(將不會將020當作八進制數進行解析) - String
非字符串轉化爲字符串:
toString() 數值、對象、布爾值和字符串都有該方法,但null、undefined 沒有該方法。
可以傳遞參數,表示轉化使用的基數,即進制。如 num = 10;num.toString(8) // 12;(num的數值被以八進制形式表示出來)
String( ) 在不知道要轉化的值是否爲 null 或 undefined 的時候,可以使用該轉型函數。該函數能夠將任何類型的值轉化爲字符串。
如果值由toString( )方法,則調用該方法。如果值爲null或undefined,則直接返回其字面量 null 或 undefined; - Object
創建對象: var o = new Object();
a、Constructor 構造函數,保存着用於創建當前對象的函數
b、hasOwnProperty(propertyName) 用於檢查傳入的屬性名是否存在於當前對象實例
c、isPrototypeOf( object ) 用於檢查傳入的對象是否是另一個對象的原型
d、propertyEnumerable(propertyName) 用於檢查給定的屬性是否可用 for-in 語句進行枚舉
e、toLocalString() 返回字符串的對象表示,該字符串與執行環境的地區相對應
f、toString() 返回對象的字符串表示
g、valueOf() 返回對象的布爾值、數值或字符串表示,通常與toString()返回值相等。