JavaScript笔记:面向对象基础知识点

定义

一种编程思想,在程序里面用对象来描述现实中的一个具体的事务

对象

封装了一个事务的属性和功能的程序结构

本质

js中一切对象的底层都是关联数组
每个属性名和方法名都是关联数组中的元素value
每个属性值和方法都是关联数组中的key

使用面向对象的的原因

和现实中人的思维方式非常接近,便于大程序的维护

面向对象的三大特征

封装

将一个具体事务的属性和功能集中在一个对象中
只要使用了面向对象,都要先将事务的属性和功能封装到一个对象中,在反复使用对象的功能
事务的属性:会变成对象的属性
事务的功能:会变成对象的方法

创建自定义对象的方式(封装)

1、使用对象的直接量

var student = {
	stuName: "ycx",
	stuAge: 23,
	stuSex: "male",
	stuBirth: "19960716",
	introduce: function() {
		document.write("my name is " + this.stuName + ", i am a " + this.stuAge + "-year-old boy");
	},
}

2、使用new关键字
在创建对象时,不知道对象的成员

3、构造函数
(1)定义构造函数
(2)用new调用构造函数
①创建新的空对象
②用new创建子对象时,会自动设置子对象的__proto__继承构造函数的prototype
③用新对象去调用构造函数
a、new的功能将构造函数中的this指向新对象
b、向新对象中添加构造函数规定的属性
c、将属性参数的值,保存到新对象的新属性中
④将新对象的地址保存在变量

function Individuals(name, age) {
	this.name = name;
	this.age = age;
}
Individuals.prototype.introduce = function() {
	console.log("My name is " + this.name + ", I am a " + this.age + "-year-old person.");
}
继承
特点

父对象的成员,子对象不用重复创建,也可以直接使用

好处

节约内存,提高代码的可复用性

原型对象

专门集中存储一类子对象相同属性和功能的父对象,同一子对象所共有的属性和方法

定义方式

每创建一个构造函数,都会自动生成一个原型对象

原型链

原型本身也是个对象,因此原型对象也有原型,对象有__proto__
由多级父元素逐级继承形成的链式结构
原型链保存着所有对象的成员
作用
控制对象访问成员的使用顺序
优先使用自己的,自己没有,才沿着原型链向父级查找

自有属性和公有属性

自有属性:直接保存在本地的属性
公有属性:保存在原型对象中,被所有子对象共享的属性

内置对象的继承关系

凡是可以new的类型,都是构造函数
每个内置对象的构造函数都对应有一个内置的原型对象
内置类型的原型对象保存了该类型各自的供子对象使用的API,且这些是公有的

多态
定义

同一个事物,在不同情况下表现出来不同的状态

重写:override

如果子对象觉得父对象的成员不好用,可以在子对象本地定义同名成员,覆盖父对象的成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值