对象
☞ 现实世界: 万事万物皆对象。
对象: 类中的具体的某个实例【属性和方法的集合体】
必须是一个具体的事物。 (手机,汽车不是对象,属于一类对象)
对象是由 特征(名词)【属性】 和 行为(动词)【方法】
属性:对象有的东西,称为属性
方法:对象做什么事情,称为方法
☞ 程序中的对象: 对现实对象的抽象
☞ 总结:
程序中的对象:
✔ 对象必须有对应的属性【描述对象的特点,在程序中一般使用名词描述】
✔ 对象必须有行为动作方法 【方法用来描述具体对象的行为动作,一般方法使用动词】
对象.属性名【arr.length】
对象.方法名();【document.write(‘123’);】
属性:访问,【对象.属性名】【对象[‘属性名’]】
方法:执行,【对象.方法名()】
对象字面量创建对象
通过字面量方式创建对象
函数单独使用==>函数
函数放到对象==>方法
var 变量名 = { key : value , key: value, key: functon () {} };
备注:
-
创建对象,必须要确定具体的事物
-
创建对象,必须要确定对象有哪些属性【特征】或者方法【动作,行为】
-
如果一次想要输出多个对象,那么可以将每一个对象放到一个数组中。
-
☞ 访问对象属性 (对象.属性 | 对象[‘属性名’])【对象.属性名,对象[‘属性名’]】
☞ 访问对象方法 (对象.方法名())
注意:如果通过 对象[‘属性名’]访问对象的属性时候,必须保证使用字符串格式
☞ 函数:独立存在的函数
☞ 方法: 属于对象的函数(匿名函数)
字面量创建对象:
var o = {
name: 'zs',
age: 18,
sex: true,
sayHi: function () {
console.log(this.name);
}
};
通过Object创建对象
构造函数 ,是一种特殊的函数(方法),与new一起使用,用于初始化(创建)对象
var 变量 = new Object();
1. Object 是一个构造函数
2. 通过new调用构造函数
☞ 添加属性:对象变量.属性名 = 值;
☞ 添加方法:对象变量.方法名 = function () {}
工厂方式创建对象
1. 例如
function create ( name, age, height ) {
var Ob = new Object()
Ob.name = name;
Ob.age = age;
Ob.height = height;
Ob.eat = function () {}
return Ob;
}
自定义构造函数创建对象
使用```帕斯卡```命名法 (每个单词首字母大写)
例如:
function CreateHero ( name, age, height ) {
this.name = name;
this.age = age;
this.height = height;
}
new 关键字执行过程
- 在内存中创建一个空对象
- this指向创建的对象
- 执行函数
- 返回当前对象
注意:在构造函数中,默认的返回值就是当前创建的对象
字面量:{}
构造函数:new Object();
工厂模式:function creatObj () {}
自定义构造函数:function CreateObj () {}
instanceof关键字介绍
对象名 instanceof 构造函数名
判断对象是哪个构造函数创建的
遍历对象
☞ 通过 for in 遍历 对象的成员for( key in 对象 ){ 对象[key] }
☞ 遍历对象中的属性
☞ 遍历对象中的值
对象总结
1. 程序中的对象: 类中的具体的某个实例
2. 对象的基本的组成: 属性【描述对象特征特点】 | 方法 【描述对象行为动作功能】
3. 创建对象方式:
✔ 字面量方式
var obj = {
key : 值,
key : function () {}
}
✔ 通过构造函数
var obj = new Object();
obj.自定义属性名 = 值;
obj.自定义方法名 = function () {}
✔ 工厂模式创建对象(本质就是对第二种方式的封装,创建多个对象)
function people (name) {
var obj = new Object();
obj.自定义属性名 = name;
return obj
}
var zs = people('zs');
✔ 自定义构造函数创建对象(确定对象的类型)
function People (name) {
this.自定义属性名 = name;
}
var zs = new People('zs');
4. 对象的基本操作
✔ 获取对象的属性或方法
1. 对象.自定义属性名 || 对象['属性名']
2. 对象.自定义方法名()
5. 判断对象的具体类型
对象名称 instanceOf 构造函数
6. 对象的遍历:for ( key in 对象 ) { 对象[key] }