JS 系列 6 - 数据类型2,对象
对象是一种 引用数据类型,和我们上一篇所说的基本数据类型不是一个类型。
万物皆对象, Object
对象就是 一组数据 加上 一些方法的集合。1
属性 和 方法
一个对象如果里面没有 数据 或者 方法 是没有意义的。属性 和 方法是对象的重要组成部分。比如一张白纸,它需要有颜色,白,和能在上面写字的功能,它才是白纸。否则,白纸只是个抽象的,不存在实体的东西。
对象在js中的分类
- 内建对象,js中已经创建好的,比如 Array, Date
- 宿主对象,浏览器给我们提供的对象, 比如 DOM
- 自定义对象,需要我们自己编写的对象
创建对象,属性名,属性值
- 字面量创建法
// 创建一个学生对象
var student = {name:'Tom',sex:'Male',grade:'Senior 1'};
//打印 这个 student 对象的信息
console.log(student);
console.log(student.name);
console.log(student.sex);
console.log(student.grade);
// 添加一个新的属性 height
student.height = '180cm';
// 查看height属性是否被添加
console.log(student);
//删除一个属性 grade
delete student.grade;
// 查看grade是否被删除
console.log(student);
2 Object 创建法
// 创建一个学生对象
var student = new Object();
//给student添加属性 和 属性值
student.name = 'Tom';
student.sex = 'male';
student.grade = 'Senior 1';
//打印 这个 student 对象的信息
console.log(student);
console.log(student.name);
console.log(student.sex);
console.log(student.grade);
// 添加一个新的属性 height
student.height = '180cm';
// 查看height属性是否被添加
console.log(student);
//删除一个属性 grade
delete student.grade;
// 查看grade是否被删除
console.log(student);
查看对象是否有某个 属性名
// 创建一个学生对象
var student = new Object();
//创建一个 name 属性名
student.name = 'Tom';
//查看 name 这个属性名 是否在 student对象内
console.log('name' in student);//返回true
console.log(student.hasOwnProperty('name'));//返回true
//查看 height 这个属性名 是否在 student对象内
console.log('height' in student);//返回false
console.log(student.hasOwnProperty('height'));//返回false
这篇文章不讲方法,只说数据 ↩︎