JavaScript高级(一)
注:浏览器展示的小问题:
复杂类型在控制台输出是,进行展看操作后,会读取的最新值
浏览器重要组成部分:
内核(渲染引擎): html /css—webAPI(DOM/BOM)
W3C规范
js解析器(Javascript引擎): ECMScript
ECMA规范
执行过程:
域解析:全局、函数
基本类型:
字符串类型
数值类型
布尔类型
未定义类型--------undefined默认的,用来表示存储区域未使用
空类型 null---------主动设置,清除存储区域
复杂类型:
objrct对象
array数组
date日期
functiion函数---------代码重复使用【存储代码】
循环----某个地方执行
math数学
基本和复杂区别:
存储个数不同
内存存储方式不同
●基本—内存单元中存储是具体值
●复杂—内存单元中存储的地址
复制方式不同:
●基本------赋值=方式复制
●复杂-------遍历拷贝(内置对象方法)
复杂类型进行比较:(== /===)
都是地址比较
注:两个复杂类型长得一样不一定相等/全等
包装对象:string number boolean
狭义(单个):
【任意对象都可以】
构造函数(需要复用):
对象字面量:
数据存储
面向对象与面向过程
面向对象【分装功能使用方法调用】
注:面向对象和面向过程没有可比性
封装性:
●将面向过程的代码根据大功能划分后,封装多个函数,再将多个函数封装到对象中即可。
●将功能封装为对象。
继承性:
●继承操作,进行功能复用
多态性:
某个功能被不同对象使用是的功能性不同,称多态【增强功能的灵活】
面向对象操作:
class(重点) ---------es6 【】
首字母大写
1 | class 类名 { |
注:如果设置的子类方法与父类方法同名,会
1 | class 子类 extends person{ |
class继承
1 | class Person { |
构造函数:-------函数名大写
多个实例对象设置的方法值不是同一个函数,将匿名函数设置为命名函数
统一对象的存储方式,可以减少在全局作用域名称数量
原型:
prototype原型对象----------函数优化
constructor除了可以检测自定义实例对象的类型检测,也可以内置对象进行类型检测。【作用:类型确定功能】
typeof检测复杂类型只能得到object。。。。。。。。使用。。。。。。即可
零落满玉尘,霜打清浮册,墨染成瀑,清飞寒酥雪。忽沥薄阳起白风,展书一卷,读不尽满目苍凉