JavaScript面向对象编程

本文深入讲解JavaScript中的对象概念,包括对象的创建、属性与方法的访问、对象实例的创建及属性方法的添加,同时探讨了JavaScript面向对象的特性。

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

1.所有事物都是对象

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型。

  • 布尔型可以是一个对象。
  • 数字型可以是一个对象。
  • 字符串也可以是一个对象
  • 日期是一个对象
  • 数学和正则表达式也是对象
  • 数组是一个对象
  • 甚至函数也可以是对象

2.JavaScript 对象

对象只是一种特殊的数据。对象拥有属性和方法。

3.访问对象的属性

属性是与对象相关的值。

访问对象属性的语法是:

objectName.propertyName

举个例子:使用 String 对象的 length 属性来获得字符串的长度:

var message="Hello World!";

var x=message.length;

在以上代码执行后,x 的值将是:

12

4.访问对象的方法

方法是能够在对象上执行的动作。
您可以通过以下语法来调用方法:

objectName.methodName()

举个例子使用 String 对象的 toUpperCase() 方法来将文本转换为大写:

var message="Hello world!";

var x=message.toUpperCase();

在以上代码执行后,x 的值将是:

HELLO WORLD!

5.创建 JavaScript 对象

通过 JavaScript,您能够定义并创建自己的对象。

创建新对象有两种不同的方法:

  • 定义并创建对象的实例
  • 使用函数来定义对象,然后创建新的对象实例

5(1).创建直接的实例

这个例子创建了对象的一个新实例,并向其添加了四个属性:

person=new Object();

person.firstname="Wang";

person.lastname="Xin";

person.age=18;

person.eyecolor="black";

还有替代语法:

person={firstname:"Wang",lastname:"Xin",age:18,eyecolor:"black"};

5(2).使用对象构造器

本例使用函数来构造对象:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)

5(3).创建 JavaScript 对象实例

一旦您有了对象构造器,就可以创建新的对象实例,就像这样:

var myFather=new person("Wang","Xin",18,"black");

var myMother=new person("Sally","Rally",28,"green");

5(4).把属性添加到 JavaScript 对象

您可以通过为对象赋值,向已有对象添加新属性:

假设 person 对象已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:

person.firstname="Wang";

person.lastname="Xin";

person.age=18;

person.eyecolor="black";


x=person.firstname;

在以上代码执行后,x 的值将是:

Wang

5(5).把方法添加到 JavaScript 对象

方法只不过是附加在对象上的函数。

在构造器函数内部定义对象的方法:

function person(firstname,lastname,age,eyecolor){
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    this.eyecolor=eyecolor;
    this.changeName=changeName;
 function changeName(name){
  this.lastname=name;
 }
}
myMother=new person("Sally","Rally",28,"green");
myMother.changeName("Xin");
document.write(myMother.lastname);

changeName() 函数 name 的值赋给 person 的 lastname 属性。

5(6).JavaScript 类

JavaScript 是面向对象的语言,但 JavaScript 不使用类。

在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

JavaScript 基于 prototype,而不是基于类的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值