什么是js面向对象,特点,怎么写构造函数

什么是JS面向对象
  1. 首先,什么是对象,简单的来理解,对象是指一个整体,对外提供一些操作,比如空调,电视机等等;面向对象的意思就是,使用对象的时候,你可以直接使用它所提供的功能而忽略其内部组成情况。好比如你不知道电视机是怎么运作的,也不知道它是由什么零件组成的,但你知道拿到遥控就可以操作电视机,这就是一种面向对象的思想。
  2. js中面向对象的特点:
    抽象、封装、继承、多态。

    抽象:表示对问题领域进行分析、设计中得出的抽象的概念,抓住核心问题。
    封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
    继承:继承主要实现重用代码,节省开发时间。包括对象方法和属性的继承。
    多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

怎样写构造函数

1.什么是构造函数
构造函数就是构造对象的函数。使自己的对象多次复制,当对象被实例化后,构造函数会立即执行它所包含的任何代码。
2.工厂模式
该模式抽象了创建对象的具体过程,用函数来以特定接口创建对象的细节

例如:

<script>
function createPerson(name, qq)
{
    //原料
    var obj=new Object();
    //加工
    obj.name=name;
    obj.qq=qq;
    obj.showName=function ()
    {
        alert('我的名字叫:'+this.name);
    };
    obj.showQQ=function ()
    {
        alert('我的QQ号:'+this.qq);
    };
    //出厂
    return obj;
}
var obj=createPerson('blue', '258248832');
obj.showName();
obj.showQQ();
var obj2=createPerson('张三', '45648979879');
obj2.showName();
obj2.showQQ();
</script>

工厂方式的问题:使用工厂模式能够创建一个包含所有信息的对象,可以无数次的调用的这个函数。虽然其解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即如何得知一个对象的类型)

3.构造函数模式

function Person(name,sex,age) {//注意这里 构造函数首字母大写
 this.name = name;
 this.sex = sex;
 this.age = age;
 this.info = function () {
    console.log(this.name, this.age, this.sex);
 }
}
var p1 = new Person('帅哥','男','20');
 p1.info();
var p2 = new Person('美女','女','18');
 p2.info();

注意构造函数与工厂模式有些不同的地方,如下:
构造函数首字母大写,没有显式地创建对象,将属性和方法赋值给了 this 对象,没有return语句
而且以这种方式来调用构造函数会大致经历以下几个步骤:
1)创建一个新的对象
2)将构造函数的作用域赋值给这个对象(因此this就指向了这个对象)
3)执行构造函数中的代码(即给新对象添加属性和方法的过程)
4)返回对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值