面向对象 创建对象的两种方式

本文介绍了两种创建对象的方法:工厂模式和构造函数,并对比了这两种方式的不同之处。还讲解了如何使用这些模式来实例化对象并调用其方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象
创建对象的两种方式
方法一:
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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值