老外的教学网站Javascript-OOP

1.用变量声明JavaScript对象

在我们学习面向对象之前, 先让我们重新认识一下JavaScript对象.

给你的motorBike对象一个轮子, 引擎,和座位属性并将他们的数量用数字表示.

var car = {
  "wheels":4,
  "engines":1,
  "seats":5
};

var motorBike = {
  "wheels":2,
  "engines":2,
  "seats":1
};

2.用函数构造JavaScript对象

我们同样可以使用构造函数来创建对象.

一个函数用一个大写字母开头的英文名字表明他是一个构造函数。

例如:

var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};

再例如:

var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};

var MotorBike = function() {
  this.wheels = 2;
  this.engines = 1;
  this.seats = 1;
};

3.创建对象实例

使用一个构造对象需要用关键字new一个对象出来:

var myCar = new Car();

myCar这个对象实例就是下面的东东:

{
  wheels: 4,
  engines: 1,
  seats: 1
}

现在,你可以通过myCar这个实例给对象添加新的属性. 例如:

myCar.turboType = "twin";

4.通过给构造函数传参构造不同的对象

构造函数这东西不错, 但如果我们不想每次都构造一样的对象怎么办?

为了解决这个问题我们可以给构造函数传参. 如下例子:

var Car = function(wheels, seats, engines) {
  this.wheels = wheels;
  this.seats = seats;
  this.engines = engines;
};

现在我们可以传参构造对象了.

var myCar = new Car(6, 3, 1);

5.使对象属性私有化(privated)

每个对象都有自己的属性, 还有自己的函数,称为方法.

在上面我们使用this关键字来描述对象的公有(public)属性.

我们同样可以创建不能在对象之外被访问的私有属性和方法。

为了私有化,我们在构造函数中使用var关键字声明属性,而不是this。

例如, 我们只想在一辆车加减速时改变它的速度:

var Car = function() {
  // 这是一个private变量
  var speed = 10;

  // 这些是public方法
  this.accelerate = function(change) {
    speed += change;
  };

  this.decelerate = function() {
    speed -= 5;
  };

  this.getSpeed = function() {
    return speed;
  };
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值