JavaScript中,对象是指一组相关属性和方法的集合,是一种复杂的数据类型。每个对象都有一组由键值对组成的属性,每个属性具有自己的属性值。
用一个简单的例子来解释对象:如果我们想要描述一个人,那么这个人的属性可以包括姓名、年龄、性别、身高、体重等等。那么在JavaScript中,以一个对象来描述这个人,则可以如下定义:
var person = {name: "张三",age: 25,gender: "男",height: 175,weight: 72.5};这个对象包括了5个属性:name、age、gender、height和weight,每个属性都有它自己的值。可以通过对象.属性名的方式来访问属性:
console.log(person.name); // 输出"张三"console.log(person.age); // 输出25console.log(person.height); // 输出175
值得注意的是,JavaScript中对象的属性值可以是任何数据类型,包括数字、字符串、布尔值、数组、函数、甚至是另一个对象。
JavaScript中的对象有两种定义方式:
- 字面量方式
- 构造函数方式
字面量方式的定义已经在之前给出了一个例子,其实还有其他的写法:
var animal = {"type": "dog", // 属性名可以用引号或不用,建议使用引号age: 3,"weight of body": "15 kg", // 属性名可以有空格,但不建议这样做properties: { // 属性值可以是对象,即对象中的属性值可以是另一个对象color: "black",height: 60}};构造函数方式的定义相对于字面量方式来说,比较繁琐,但更加灵活,可以自定义构造函数来创建对象。以创建一个人的对象为例,代码如下:
function Person(name, age, gender) { // 构造函数首字母大写,参数一般不宜太多this.name = name;this.age = age;this.gender = gender;}var p = new Person("李四", 28, "女"); // 通过构造函数创建对象,new操作符用来创建对象console.log(p.name); // 输出"李四"console.log(p.age); // 输出28console.log(p.gender); // 输出"女"需要注意的是,通过字面量方式创建的对象和通过构造函数方式创建的对象是没有实质区别的,只是写法不同而已。
对象的属性可以动态增删改,直接通过对象.属性名进行操作即可:
person.age = 30; // 改变属性值person.weight = 75; // 增加属性delete person.gender; // 删除属性
对象还有一些常用的方法,如toString()、toLocaleString()、valueOf()等等,这里不做详细介绍。需要注意的是,所有的对象的最顶层都是Object对象,即所有对象都是从Object对象继承而来的。
JavaScript中,对象是一种重要的数据类型,随着JavaScript的发展,对象的应用范围越来越广泛,不仅仅在Web开发中,而且是在一些服务器端开发、桌面端应用开发中也得到了广泛的应用。
上一篇:css指的是下列什么缩写
下一篇:JavaScript中创建对象的方式









