面向物件 建立物件的兩種方式
建立物件的兩種方式
方法一:
var obj={
name:'zhangsan',
age:20;
};
方法二:
var obj=new Object();
obj.name='zhangsan';
******************************************************************
第一種方式:工廠模式 首字母大寫其實就是自己建立的一個新的物件
function Person(name,age,sex){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.sex=sex;
//方法
obj.sayName=function(){
alert(this.name);
}
return obj;
}
var p1= Person('zhangsan',20,'男');
var p2= Person('zn',20,'女');
//類的概念:通過一個物件模板能夠例項化出不同的物件
alert(p1.name);
alert(p2.name);
//呼叫方法
p1.sayName();
************************************************************
//第二種 構造式
function Person(){
this.name = name;
this.age = age;
this.sex = sex;
this.sayName=function(){
alert(this.name);
}
}
//建立物件的步驟
1.new 關鍵字 new Date() new Object()
2.傳遞引數
3.呼叫方法
var p1=new Person('zhangsan',80,'男');//p1現在相當於new Person();
alert(p1.name);
p1.sayName();
********************************************************************************
//建立物件的幾種方法
1.賦值給一個變數
var p1=new Person('zhangsan',80,'男');
2.直接呼叫 this直接指向window
Person('xiaosan',20,'女');
alert(name);
3.在另一個物件中呼叫
var o= new Object();
//call apply
Person.call(o,'小四',20,'男');
alert(o.name);
o.sayName();