只有一個特殊的值,undefined (1) 聲明一個變量,但沒有賦值。變量默認爲undefined (2) 函數中沒有return。返回值默認爲undefined var message; alert(message); //undefined alert(age);// error alert(typeof message);// undefined alert(typeof age);//undefined
對於未聲明過的變量,只能執行一項操做,就是使用 typeof 檢測其數據類型,而且返回undefined.其餘操做都會報錯。函數
只有一個特殊的值,null.null表示一個空對象指針。 typeof null "Object" typeof undefined "Undefined" null == undefined //true
兩個值:true false
可是js中全部類型的值都有與這兩個boolean值等價的值。
將一個值轉換成布爾型,調用Boolean()函數。指針
各類類型向布爾型轉換的結果以下: undefined:false。 null:轉換成false。 字符串:空字符串,返回false;非空字符串,true. 數字型值:若是數字爲0或NaN,返回false。;非0數字,false。 Object:true; 總結:非空字符串.非零數字轉換爲true.
一個特殊的數值:NaN.用於表示一個原本要返回數值的操做數 未 返回操做數的狀況。code
兩個特殊: (1)任何涉及NaN到NaN的操做運算,都會返回NaN (2)NaN與任何值都不相等,包括自己。 alert(NaN==NaN);//false 一個函數:isNaN() isNaN(NaN);//true isNaN(true);//false 能夠被轉換爲1 isNaN(「10」);//false 能夠被轉換爲數值10
三個函數:Number() parseInt() parseFloat()對象
Number()能夠把任何類型轉換爲number類型。後兩個專門把字符串轉換爲數值。 undefined:NaN null: 0 boolean: true:1;false:0 字符串: (1)字符串中只有數字,轉換爲十進制數值。 (2)字符串中有 浮點格式,會轉換爲響應的浮點數值。 (3)字符串中有 十六進制,轉會爲十進制。 (4)空字符串 轉換爲0. (5)其餘格式的,轉換爲NaN Number()函數在轉換字符串時,比較複雜。因此更經常使用的是parseInt函數。 parseInt()直至找到第一個非空格字符,若是第一個字符不是數字字符或者符號,直接返回NaN. 繼續解析第二個字符,知道解析完全部後續字符或者遇到一個非數字字符。 parseInt("1234blue"); //1234 parseInt('');//NaN
轉換爲字符串: toString()方法 undefined.null不可使用此方法 boolean.number.string(返回一個字符串的副本) 均可以用此方法。 String()方法 能夠將任何類型的值轉換爲字符串 String(null);//"null" String(undefined);//"undefined"
1.對象字面量
使用對象字面量定義對象時,實際上不會調用Object構造函數。字符串
var p = { name:"tom", age:29 };
2.構造函數string
function Person(){} var p = new Person();
constructor:能夠知道一個對象是由哪一個構造函數建立的io
hasOwnproperty(屬性名):檢查屬性是否在當前對象實例中function
isPrototypeOf(對象):變量
toLocaleString():返回對象的字符串表示構造函數
toString():返回對象的字符串表示
valueOf():返回對象的字符串、布爾值或數值表示。