今天从JS的对象开始整理
对象:
定义:属性和方法的集合体
创建对象: 1.通过字面量创建 2.通过构造函数创建 3.通过工厂方式创建
普通函数与构造函数的区别: 1.调用方式不同 2.构造函数开发习惯首字母大写 3.构造函数默认返回新创建的对象
关键字:
1.this:在构造函数中,代指新创建的对象。在普通函数中,this指向调用者
2.new:执行过程:a.在内存中创建一个空对象 b.this指向创建的对象 c.执行函数 d.返回当前对象(不需要return)
3.instanceOf:判断对象是哪个构造函数创建的,返回值是布尔值。用于检测构造函数的prototype属性是否存在某个实例对象的原型链上
内置对象
1.Math对象:
一些常见属性:
一些例子:
2.Date对象
一些常见属性:
注意:月份是从0开始的,0代表1月
例子(倒计时):
3.数组:
属性使用方法
例子:
4.字符串
属性使用方法:
例子:
静态成员与实例成员:
1.静态成员:不需要通过构造函数创建对象且能访问对象中的属性和方法
2.实例成员:首先必须通过构造函数创建对象,通过构造函数创建对象并访问的属性或方法 [实例成员]
面向对象
对象:在实际开发中,对象是一个抽象的概念,可以将其简单理解为:数据集 或 功能集ECMAScript-262 把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。
面向对象:过程式代码的一种高度封装,目的在于提高代码的开发效率和可维护性。
特性: 1.封装性 2.继承性 3.多态性
构造函数
优点:创建对象方便,缺点:浪费内存
步骤: 1.创建一个新对象 2.将构造函数的作用域赋给新对象(this指向这个新对象)3.执行构造函数中的代码 4.返回新对象
构造函数与实例函数的区别: 1. 构造函数的好处不仅仅在于代码的简洁性,更重要的是我们可以识别对象的具体类型 2.每一个实例对象中的_proto_中同时有一个 constructor 属性,该属性指向创建该实例的构造函数
(如有错误可以指出☀️)