发布于 

JavaScript高级(一)

注:浏览器展示的小问题:

复杂类型在控制台输出是,进行展看操作后,会读取的最新值

浏览器重要组成部分:

内核(渲染引擎): html /css—webAPI(DOM/BOM)

W3C规范

js解析器(Javascript引擎): ECMScript

ECMA规范

执行过程:

域解析:全局、函数

基本类型:

字符串类型

数值类型

布尔类型

未定义类型--------undefined默认的,用来表示存储区域未使用

空类型 null---------主动设置,清除存储区域

复杂类型:

objrct对象

array数组

date日期

functiion函数---------代码重复使用【存储代码】

循环----某个地方执行

math数学

基本和复杂区别:

存储个数不同

内存存储方式不同

​ ●基本—内存单元中存储是具体值

​ ●复杂—内存单元中存储的地址

复制方式不同:

​ ●基本------赋值=方式复制

​ ●复杂-------遍历拷贝(内置对象方法)

复杂类型进行比较:(== /===)

都是地址比较

注:两个复杂类型长得一样不一定相等/全等

包装对象:string number boolean

狭义(单个):

【任意对象都可以】

构造函数(需要复用):

对象字面量:

数据存储

面向对象与面向过程

面向对象【分装功能使用方法调用】

注:面向对象和面向过程没有可比性

封装性:

●将面向过程的代码根据大功能划分后,封装多个函数,再将多个函数封装到对象中即可。

将功能封装为对象。

继承性:

继承操作,进行功能复用

多态性:

某个功能被不同对象使用是的功能性不同,称多态【增强功能的灵活】

面向对象操作:

class(重点) ---------es6 【】

首字母大写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class 类名 {

constructor(需要参数){

this.属性名 = 属性值;



方法名(){





var 实名类 = new 类()



注:如果设置的子类方法与父类方法同名,会

1
2
3
4
5
6
7
8
9
10
11
12
class  子类 extends  person{
constructor(){

super()
this.


方法();



var 变量 = new 。。。();

class继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Person {
constructor() {
this. = ;
this. = ;
}
名字() {
console.log('' + this.);
}
}
class xxx extends Person{
constructor( xxx) {
super(xxx);
this.xxx = xxx;
this.xxx = xxx;
}
覆盖方法:

super.名字();【1.多态方法做扩展2.调】

构造函数:-------函数名大写

多个实例对象设置的方法值不是同一个函数,将匿名函数设置为命名函数

统一对象的存储方式,可以减少在全局作用域名称数量

原型:

prototype原型对象----------函数优化

constructor除了可以检测自定义实例对象的类型检测,也可以内置对象进行类型检测。【作用:类型确定功能】

typeof检测复杂类型只能得到object。。。。。。。。使用。。。。。。即可

零落满玉尘,霜打清浮册,墨染成瀑,清飞寒酥雪。忽沥薄阳起白风,展书一卷,读不尽满目苍凉