[TOC]
1. 什么是对象
对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)。
2. 对象的创建
2.1 字面量表示法:使用key/value的形式直接创建对象,简洁方便。
var person = {}; //创建一个没有属性的对象
const person = {
name: ['Bob', 'Smith'],
age: 32,
gender: 'male',
interests: ['music', 'skiing']
};
这种方式直接通过花括号将对象的属性包起来,使用key/value的方式创建对象属性,每个属性之间用逗号隔开。在通过对象字面量定义对象时,实际上不会调用Object构造函数(FF2和早起Opera会调用,FF3之后不会)。但person的原型是Object,所以person.name.toString()等是可以用的。
注意:如果是最后一个属性,后面就不要加逗号,因为在一些旧的浏览器下会报错。
2.2 使用new关键字:
var person = new Object();//创建一个没有属性的对象,具体创建出什么对象,要看使用的new的类。
创建了Object引用类型的一个新实例,然后把该实例对象保存在变量person中。使用的构造函数是Object,它只为新对象定义了默认的属性和方法。
3. 对象的操作(增删查改)
3.1 添加属性
对象名.属性名 = 属性值
对象名["属性名"] = 属性值
3.2 删除属性
deletd 对象名.属性名
3.3 获取对象的属性
对象名.属性名
对象名["属性名"]
若读取了对象中没有的属性,会返回undefined
。
3.4 判断对象中有无指定属性
"属性名" in 对象名
如果有返回true
,没有则返回false
。
3.5 修改属性
对象名.属性名 = 新属性值
对象名["属性名"] = 新属性值
3.6 属性的遍历
for (var key in 对象) {
console.log(key);//打印对象名为user的属性
console.log(user[key]);//打印对象名为user的属性名为key的值
}
4. JSON
4.1 定义
JSON(JavaScript对象表示法)是用于将结构化数据表示为JavaScript对象的标准格式,通常用于在网站上表示和传输数据。
- 基于JS语法,又独立于JS,多种环境可读取。
- 可以作为对象或者字符串存在,前者用于解读数据,后者用于传输数据。
- 一个JSON对象可以存储在自己的文件中,扩展名.json。
4.2 与JS的关系
虽然它是基于 JavaScript语法,但它独立于JavaScript,JSON可以作为一个对象或者字符串存在,前者用于解读 JSON 中的数据,后者用于通过网络传输 JSON 数据。
区别 | JSON | JS |
---|---|---|
含义 | 仅仅是一种数据类型 | 表示类的实例 |
表现 | 1. 键值对方式,键和所有字符串必须加双引号 | 1.键值对方式,键不用加双引号。 |
2.值不能是函数,不能为undefine、NaN | 2.值可以是函数、对象、字符串、数字等 | |
相互转换 | JSON.parse(jsonstring) | JSON.stringify(jsobj) |
4.3 JSON的适用场景
- JS原生态JSON使用,使用JSON.stringify(object)把前端的一个Object对象转化为字符串格式,传输到后端。
- jQuery中使用,使用$.parseJSON(JSONString)把从后端接受的JSON字符串转换为Object对象便于前段使用,或者是使用JSON.parse(JSONString)达到同样的效果。