創建對象
對象有屬性、行為、事件。
變量就是對象的屬性。
函數就是對象的方法,就是對象的行為。
創建對象,可以先創建對象,再聲明對象的屬性和方法。也可以創建對像的過程中聲明屬性和方法。
創建對象有兩種方式四種花樣。
分別是字面量和構造函數。
字面量創建對象
window.onload=
function
(ev) {
// 調用對象
person.eat();
}
var
person={};
//字面量創建對象
// 設置字面量對象屬性
person.name=
'huangshiren'
;
person.age=58;
person.appetite=3;
person.eat=
function
(){
document.write(
'正在吃飯'
);
}
先創建對象,再創建對象屬性或方法。對象和屬性之間使用(.)運算符,屬性和屬性值之間用(=)相連。
創建方法,並將函數賦值給方法名,函數包含函數體。
字面量創建對象同時創建屬性和方法
window.onload=
function
(ev) {
// 調用對象
person.eat();
}
var
person={};
//字面量創建對象
// 設置字面量對象屬性
person.name=
'huangshiren'
;
person.age=58;
person.appetite=3;
person.eat=
function
(){
document.write(
'正在吃飯'
);
}
先創建對象,再創建對象屬性或方法。對象和屬性之間使用(.)運算符,屬性和屬性值之間用(=)相連。
創建方法,並將函數賦值給方法名,函數包含函數體。
構造函數創建對象
var 對象變量名=new Object();
window.onload =
function
(ev) {
// 調用對象
person.eat();
}
//構造函數創建對象
var
person =
new
Object();
person.name=
'huangshiren'
;
person.age=58;
person.appetite=3;
person.eat=
function
(){
document.write(
'正在吃飯'
);
};
構造函數創建對象並創建屬性和方法
使用的形式與構造函數創建對象不一樣,它的公式如下:
function 對象名(可選參數1,可選參數2,可選參數3,...){
this.屬性=屬性值;
...
this.方法=function(){
//函數體
}
}
用this關鍵字取代對象名。
window.onload =
function
(ev) {
// 調用對象前先創建
var
huangshiren=
new
Person(
'huangshiren'
,58,3);
huangshiren.eat();
}
function
Person(name,age,appetite){
this
.name=name;
this
.age=age;
this
.appetite=appetite;
this
.eat=
function
(){
document.write(
'正在吃飯'
);
};
}
測試題目
1、創建對象和哪兩種方式?
答:字面量和構造函數。
2、字面量創建對象的花樣有哪兩種?這兩種花樣的區別有哪些?
答:字面量創建對象和字面量創建對象同時創建屬性和方法。
區別:字面量創建對象是先創建對象,再創建對象的屬性和方法。
字面量創建對象同時創建屬性和方法會在創建對象的同時,屬性和方法一起創建。
3、構造函數創建對象的花樣有哪兩種?這兩種花樣的區別有哪些?
答:構造函數創建對象和構造函數創建對象並創建屬性和方法。
區別:公式不一樣