JavaScript中有五種原始數據類型:Undefined、Null、Boolean、Number以及String。函數
Undefined數據類型的值只有一個:undefined。學習
在JavaScript中,若是函數沒有聲明返回值,那麼會返回undefined。(後面有實例)。spa
若是typeof後面跟一個未定義的參數,也是返回undefined。prototype
Null數據類型的值只有一個:null。code
null與undefined的關係:undefined其實是從null派生出來的。視頻
因此:對象
alert(undefined == null);
彈框顯示true。blog
Boolean數據類型的值有兩個:true和false。 繼承
var s = false; //聲明瞭一個布爾值false
字符串String類型,用單引號或者雙引號均可以。教程
JavaScript中沒有char數據類型。
typeof是一元運算符,後跟變量的名稱,用於獲取變量的數據類型,其返回值有5個:undefined、boolean、number、string以及object。
var s = "hello"; // s是原始類型 alert(typeof s) //輸出:string
另外一種方式:
var s = new String("hello"); //s是對象類型 alert(typeof s) //輸出:object
對象類型的基類是Object(很像Java),因此typeof判斷出是對象類型以後再也不具體說明其究竟是何種對象類型。
var s = false; alert(typeof s); //輸出boolean var s = 3; alert(typeof s) //輸出number
在JavaScript中,若是函數沒有聲明返回值,那麼會返回undefined。
function add() { return;//或者乾脆不寫return } alert(add()); //彈框顯示undefined
強制類型轉換:在JavaScript中有3種強制類型轉換:
Boolean(value),Number(value),String(value)。
比較常規的:
var s = Number(3); alert(s);
轉換成布爾值:
var s = Boolean("hello"); alert(s); //顯示true
var s = String("hello"); //注意此處沒有關鍵字new,表示強制類型轉換 alert(typeof s);//輸出string //若是加上new則會輸出object
注意:強制類型轉換前面是沒有new這個關鍵字的。
在JavaScript中,全部對象都是從Object對象繼承過來的。
Object中的屬性是不可枚舉的(propertyIsEnumerable返回false),所以沒法
經過for…in語句獲得其中的屬性。
var object = new Object(); for(var v in object) { alert(v); } //沒有彈框,由於沒有可枚舉的屬性 alert(object.propertyIsEnumerable("prototype"));//返回false
動態管理屬性
在JavaScript中,能夠動態添加對象的屬性,也能夠動態刪除對象的屬性。
var object = new Object(); alert(object.username); //undefined //添加屬性 object["username"] = "shengsiyuan"; //object.username= "shengsiyuan"; //兩種方式均可以動態添加屬性username alert(object.username); //顯示定義的name屬性 //刪除屬性 delete object.username; // username屬性已經從object對象中刪除 alert(object.username);//undefined
定義對象的另外一種方式:
以屬性來定義對象:
// 在JavaScript中定義對象的最多見的方式 var object = {username: "zhangsan", password: 123}; alert(object.username); alert(object.password);
聖思園張龍老師Java Web視頻教程。
W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp