02 JavaScript語言基礎-物件
阿新 • • 發佈:2018-11-21
物件
一,簡介
物件屬於一種複合型資料型別,在物件中可以儲存多個不同資料型別的屬性。
二,物件分類
1,內建物件:由ES標準中定義的物件,在任何的ES的實現中都可以使用。
2,宿主物件:由JS的執行環境提供的物件,主要指瀏覽器提供的物件。
3,自定義物件:由開發人員自己建立的物件。
三,建立物件
使用new關鍵字呼叫的函式,是建構函式constructor,建構函式是專門用來建立物件的函式。
語法:var 物件 = new 函式;
示例:
var obj = new Object();
四,新增屬性
在物件中儲存的值被稱為屬性
語法:物件.屬性名 = 屬性值;
示例:obj.name = “張無忌”;
五,呼叫屬性
語法:物件.屬性名
示例:
console.log(obj.name);
六,修改屬性
新屬性覆蓋舊屬性
語法:
物件.屬性名 = 新屬性;
示例:
obj.name = "張芷若";
七,刪除屬性
語法:
delete 物件.屬性名
示例:
delete obj.name;
八,工廠方法建立物件
利用工廠方法建立對個物件
示例:
function createPerson(name,age,sex){
//建立新物件
var obj = new Object ();
//向物件新增屬性
obj.name = name;
obj.age = age;
obj.sex = sex;
sayName:function(){
alert(this.name );
}
//將新物件返回
return obj;
}
var obj1 = createPerson("wa",18,"男");
var obj2 = createPerson("lu",20,"女");
九,建構函式建立物件
使用建構函式建立的物件,可以區分不同物件的型別
建構函式執行流程:
1,立即建立一個新物件 2,將新建的物件設定為函式中this,在建構函式可以使用this來引用新建物件 3,逐行執行函式中的程式碼 4,將新建的物件作為返回值返回
示例:
function Person(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
}
var per = new Person();
十,建構函式/原型方式
使用這種混合構造方法在建立物件和類具有靈活性。其原理為:該方式物件的所有非函式屬性使用建構函式定義,物件的函式屬性使用原型方式定義。
示例:
//建構函式內定義屬性
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike","Sue");
}
//原型定義函式方法
Car.prototype.showColor = function(){
alert(this.color);
}
十一,動態原型方法
該構造方式與建構函式/原型方式的基本思想相同,不同的方面在於賦予物件方法的位置發生變化,其原理與面嚮物件語言Java構造方法類似。
示例:
function Car(sColor,iDoors,iMgp){
this.color = sColor;
this.doors = sDoors;
this.mgp = iMgp;
this.drivers = new Array("Mike""Sue");
if(typeof Car._initialized == "underfined"){
Car.prototype.ShowColor = function(){
alert(this.color);
}
Cae._initialized = ture;
}
}
該構造方式中的"typeof Car._initialized"的部分最為關鍵,它來判斷是否已給原型賦予了任何方法,該方法只建立賦值一次。