目录
1.了解什么是对象(Object类型)
对象也就是Object类型,属于JS中的引用数据类型。
众所周知,JS中的数据类型分为:
- String 字符串
- Number 数值
- Boolean 布尔值
- Null 空值
- Undefind 未定义
但以上都是基本数据类型,当一个值不属于以上任何一种,那末就全都是对象。
- Object 对象
对象用来
将很多值聚合到一起,可以通过名字访问这些值,如果将变量抽象为一个装单个类型数据的盒子,那对象就可以抽象成一个用来装很多东西的大盒子,可以用来装多个不同的数据类型。
2.对象有三类
1.内建对象:在标准中被定义的对象,在任何实现中都可以使用。
如:Math Boolean Function Object
2.宿主对象:由运行环境提供的对象,目前主要指由浏览器提供的对象。
如console(在控制台打印)和document(打印在网页上),都属于是对象,但是是浏览器自带提供的,因此无需创建即可使用。
此两种暂时只做了解
3.自定义对象
即:由开发人员,也就是敲代码的你自己自行创建的对象。
3.对象的创建及使用
首先需要了解函数new,new是一个构造函数,专门用于创建对象。
创建对象有两种方式,在本文仅以其中一种为例。
方法:
var 对象名 = new Object();
像这样,第一个对象就被建立了
如果用typeof来检查对象,检查结果会是Object,也就是对象数据类型。
对象属性
在对象中保存的值称为属性,向对象添加属性的语法是:
对象名.属性名 = 属性值;
如:
var obj = new Object();
obj.name = "李四";
//obj是函数名,name为属性名,李四则是其中的属性值,用.来进行添加属性
当然,对象主要功能是存贮许多的对象属性
var obj = new Object();
obj.age = "14";
obj.lng = "14.6";
obj.name = "李四";
console.log(obj);//用控制台输出
结果为:
分析上例,用构造函数建立名为obj的对象,
而后利用
对象
.
属性名
=
值
的方法在obj对象中添加三个新属性,分别为name,age,lng。
并将其打印在控制台中,成功输出三个属性及值,当然,对象属性也被称之为
键值对
,即一个属性名对应一个属性值
当然,可以单独读取一个对象属性:
读取单个属性即:
对象
.
属性名
相较于创建,只少了赋予属性值的步骤
var obj = new Object();
obj.age = "14";
obj.lng = "14.6";
obj.name = "李四";
console.log(obj.name);//控制台此时仅输出name:李四
值得一提的是:若读取对象内没有的属性,则输出的值是
undefined,
即未定义。
4.对象的修改及删除
修改属性值,方法和创建相同:
对象.属性名=值
,由于程序是由上到下,由左到右执行,所以修改过的属性值会直接覆盖旧的值。
如下例:
var obj = new Object();
obj.name = "李四";
obj.age = "14";
obj.lng = "14.6";
obj.name = "王五";
console.log(obj);
结果为:
对象属性的删除:
删除属性只需使用
delete 对象.属性名
的方法。
如下例:
var obj = new Object();
obj.name = "李四";
obj.age = "14";
obj.lng = "14.6";
obj.name = "王五";
delete obj.lng
console.log(obj);
输出结果为:
delete了lng对象后,输出结果不会存在这个对象。
5.总结
-
非基础数据类型的都是对象,对象用来
将很多值聚合到一起,可以通过名字访问这些值,如果将变量抽象为一个装单个类型数据的盒子,那对象就可以抽象成一个用来装很多东西的大盒子,可以用来装多个不同的数据类型。
-
对象分为内建对象,宿主对象与自定义对象,由开发人员创建的对象即是自定义对象。
-
使用构造函数可以创建对象,但创建对象的方法不唯一。
-
对象的类型就是Object,对象类型。
-
使用对于对象的创建,读取,修改,删除来将对象进行高自由度的操作。
注:对象还有更多本文未提及的知识