编程语言包含以下几种:
• OOP(Object Oriented Programming)面向对象程序设计
• JAVA
• PHP
• PYTHON / GO / RUBY
• JAVASCRIPT / NODE.JS
• …
• POP(Procedure Oriented Programming)面向过程
• C语言
标记语言包含以下几种:
• HTML5
• CSS3
面向对象程序设计中的三大概念
• 对象:泛指-JS中我们操作和研究的事物都是对象
• 类:把抽象的对象,按照功能特点,进行的详细划分,划分成为很多的类别
• 实例:每一种类别中具体的事物
类
JS中内置类
根据JS中事物的特征,进行类别划分,而默认划分好的类别,就是内置类
数据类型中的内置类(每一个数据类型都有自己的内置类)
• Number类,每一个数字都是这个类的一个实例
• String类
• Boolean类
• Null类 / Undefined类(浏览器中禁止我们自己访问这两个类)
• Symbol类
• Object类 对象数据类型的类:所有的对象数据类型都是这个类的一个实例
- Object {}普通对象就是它的实例
- Array []每一个数组都是Array类的实例,也是Object类的实例
- RegExp 正则类
- Date 日期类
…
• Function类,所有的函数都是这个类的实例
DOM元素对象或者DOM元素集合也都有自己的内置类
…
- Node节点类
- Element元素标签类
- HTMLElement HTML元素标签类
- HTMLDivElement每一个DIV元素对象都是它的一个实例
- HTMLAnchorElement每一个A元素对象都是它的一个实例
- 每一个元素标签对象都有一个自己对应的内置类
- XMLElement XML元素标签类
- …
- HTMLElement HTML元素标签类
- Text文本节点类
- Document文档节点类
• HTMLDocument 每一个document都是它的一个实例
• …
- Element元素标签类
- HTMLCollection元素集合类,基于getElementsByTagName等方法获取到的元素集合都是它的一个实例
- NodeList节点集合类
…
JS本身就是按照“面向对象思想(类和实例)”设计出来的语言,所以我们不论是研究和学习JS,还是未来在工作中进行项目开发(组件封装),也都应该按照“面向对象思想”来学习和开发;
例如:我想研究数组
• 1、每一个数组都是Array这个类的实例,每个实例都是单独的一个个体(互相是不冲突的类似于没有一模一样的两个人,在JS中也基本上没有完全一样的两个实例[有特殊情况])
• let arr1=[12,23];
• let arr2=[12,23];
• console.log(arr1===arr2); //=>false 不同的堆内存地址!
• 2、我们拿出某一个实例,去分析其特点和结构,那么Array的其它实例也具备相同的特点和结构
• 3、数组中有很多浏览器内置的方法,这些方法都是类提供给实例的,每一个实例都能具备和使用这些方法(前提是:只有当前类的实例才能使用,如果不是它的实例,则不能使用这些方法)
有小伙伴留言说如何应对2020年初微盟的“删库跑路事件”,还有各大厂大多怎么避免此类事件发生,明天用两张图来给大家剖析一下