歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> JavaScript筆記--Objects

JavaScript筆記--Objects

日期:2017/3/1 9:28:44   编辑:Linux編程

JavaScript的簡單數據類型包括: 數字,字符串,true/false,null 和undefined。 其他所有值都是對象. 數組是對象,方法也是對象。屬性值是除開undefined值以外的任何值。JavaScript的屬性是可以變的。和C#的dynamic差不多,動態類。

一. 對象聲明以及初始化.

Notes: 1.屬性包含"-"和" "時候需要加上引號,對於"_"不需要加引號

var stooge={
"first Name":"Frank",
"last Name":"Zhang"
}var person ={
name:"Frank",
Age:23,
}

二.檢索.

Notes: 1. 在檢索對象的值可以通過[]和. 來獲取.

2. 如果在賦值的時候,該屬性不存在。那麼會自動創建該屬性並賦值.

3. 檢索中如果.propertyName不存在將輸出undefine;

4. 獲取undefine, null 數據的.PropertyName 將會報錯, 如果數據是非undefine和非null的將不會報錯.即使是賦值的數字.

console.log(person.name);

stooge["middle Name"]="C"; //屬性不存在,重新創建該屬性
console.log("My full name is "+stooge["first Name"]+"."+stooge["middle Name"]+"."+stooge["last Name"]); //Frank.C.Zhang

console.log(person.vip); //不報錯,輸出undefine
try{
console.log("test"+person.Vip.Msg); // .vip未聲明,然後獲取.msg對象就會報錯
}catch(ex){
console.log(ex.message); // 輸出Cannot read property 'Msg' of undefined
}

person.Vip = null;
try{
console.log("test"+person.Vip.Msg); // .vip未聲明,然後獲取.msg對象就會報錯
}catch(ex){
console.log(ex.message); // 輸出Cannot read property 'Msg' of null
}

person.Vip = 1;
try{
console.log(person.Vip.Msg); // 輸出undefine
}catch(ex){
console.log(ex.message);
}

三. 反射

console.log(person.hasOwnProperty("name")); //true
console.log(typeof(person.Age)); //number
console.log(typeof(person.toString)); //function

四.遍歷

Notes: 1.遍歷對象的時候,name是對應的屬性名稱.而不是屬性值;

2. 獲取屬性值還是要通過[]和.獲取;

for(var name in stooge){
console.log(name);
console.log(typeof(name));

console.log(stooge[name]);
console.log(typeof(stooge[name]));
}

五.刪除.

Notes: 1.刪除屬性通過delete obj.propertyName刪除.

六. 局部類

Notes: 前面的類我們都是用的全局變量,全局變量用的過多會降低程序的靈活性, 以及開發中會遇到命名重復的問題. 在C#中有命名空間,在Java中也有package,其實在JavaScript我們可以通過命名一個對象。然後將自己特定的數據封裝到對象中。來達到隔離效果。

var MyNamespace ={};
MyNamespace.person ={
name:"Frank",
Age:23
}

console.log(MyNamespace.person.name);

JavaScript高級程序設計(第3版)高清完整PDF中文+英文+源碼 http://www.linuxidc.com/Linux/2014-09/107426.htm

如何使用JavaScript書寫遞歸函數 http://www.linuxidc.com/Linux/2015-01/112000.htm

JavaScript核心概念及實踐 高清PDF掃描版 (邱俊濤) http://www.linuxidc.com/Linux/2014-10/108083.htm

理解JavaScript中的事件流 http://www.linuxidc.com/Linux/2014-10/108104.htm

Copyright © Linux教程網 All Rights Reserved