SF
JavaScript 高级深入理解总结系列文章
JavaScript 高级深入理解总结系列文章
注册登录
关注博客
注册登录
主页
关于
RSS
【12】内存溢出与内存泄漏
MandyShen
2019-06-27
阅读 1 分钟
2.2k
内存溢出与内存泄露 一、内存溢出 一种程序运行出现的错误。 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误。 二、内存泄漏 占用的内存没有及时释放。 内存泄露积累多了就容易导致内存溢出。 常见的内存泄露: 意外的全局变量。 没有及时清理的计时器或回调函数。 闭包 {代码...}
【11】JavaScript 线程机制与事件机制
MandyShen
2019-06-27
阅读 5 分钟
2.6k
JavaScript线程机制与事件机制 一、进程与线程 进程(process) 程序的一次执行,它占有一片独有的内存空间。 可以通过windows任务管理器查看进程。 线程(thread) 是进程内的一个独立执行单元。 是程序执行的一个完整流程。 是CPU的最小调度单元。 进程与线程图解 相关知识 应用程序必须运行在某个进程的某个线程上。 ...
【10】JavaScript 面向对象高级——继承模式
MandyShen
2019-06-27
阅读 4 分钟
1.6k
JavaScript 面向对象高级——继承模式 一、原型链继承 方式1: 原型链继承 (1)流程: 1、定义父类型构造函数。 2、给父类型的原型添加方法。 3、定义子类型的构造函数。 4、创建父类型的对象赋值给子类型的原型。 5、将子类型原型的构造属性设置为子类型。 6、给子类型原型添加方法。 7、创建子类型的对象:...
【9】JavaScript 面向对象高级——对象创建模式
MandyShen
2019-06-27
阅读 3 分钟
1.6k
缺点: 对象没有一个具体的类型,无法通过constructor识别对象, 都是Object类型。多个实例的sayName方法都是实现一样的效果,但是却存储了很多次。
【8】JavaScript 函数高级——闭包
MandyShen
2019-06-27
阅读 4 分钟
1.6k
JavaScript函数高级——闭包 一、引子实例 {代码...} 二、理解闭包 (1)如何产生闭包? 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时, 就产生了闭包。 (2)闭包到底是什么? 使用chrome调试查看。 理解一: 闭包是嵌套的内部函数(绝大部分人)。 理解二: 包含被引用变量(函数)的对象(极少数人)。 注意: ...
【7】JavaScript 函数高级——作用域与作用域链
MandyShen
2019-06-27
阅读 2 分钟
2.7k
JavaScript函数高级——作用域与作用域链 一、作用域 作用域个数 = n(定义的函数个数) + 1(全局作用域)(1)理解 就是一块"地盘", 一个代码段所在的区域。 它是静态的(相对于上下文对象), 在编写代码时就确定了。 (2)分类 全局作用域 函数作用域 ES6中新增了块级作用域 (3)作用 隔离变量,不同作用域下同名变量不会有...
【6】JavaScript 函数高级——执行上下文与执行上下文栈、变量提升(图解+典型实例分析)
MandyShen
2019-05-06
阅读 4 分钟
2k
JavaScript 函数高级——执行上下文与执行上下文栈(图解+典型实例分析) 变量提升与函数提升 变量声明提升 通过 var 定义(声明)的变量,在定义语句之前就可以访问到 值:undefined {代码...} 可以用开发工具的代码调试工具设置断点,清楚地看到a的值的变化。 函数声明提升 通过 function 声明的函数,在该函数声明之前...
【5】JavaScript 函数高级——原型与原型链深入理解(图解)
MandyShen
2019-05-05
阅读 3 分钟
3.2k
原型与原型链深入理解(图解) 原型(prototype) 函数的 prototype 属性(图) 每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为:原型对象) 原型对象中有一个属性constructor,它指向函数对象 给原型对象添加属性(一般都是添加方法) 作用:函数的所有实例对象自动拥有原型中的属性(方法) 显式...
【4】JavaScript 基础深入——函数、回调函数、IIFE、理解this
MandyShen
2019-05-04
阅读 2 分钟
1.7k
JavaScript 基础深入——函数 函数基础 什么是函数? 实现特定功能的 n 条语句的封装体 只有函数是可以执行的,其它类型的数据不能执行 为什么要用函数? 提高代码复用 便于阅读交流 如何定义函数? 函数声明 表达式 {代码...} 如何调用(执行)函数? test():直接调用 obj.test():通过对象调用 new test():new 调用 te...
【3】JavaScript 基础深入——对象
MandyShen
2019-05-03
阅读 1 分钟
1.2k
JavaScript 基础深入——对象 什么是对象? 多个数据的封装体 用来保存多个数据的容器 一个对象代表现实中的一个事务 为什么要用对象? 统一管理多个数据 对象的组成 属性 属性名:字符串,但是在写的时候可以不加引号" " 属性值:任意 方法:一种特别的属性,属性值是函数 如何访问对象内部数据? .属性名:编码简单,有...
【2】JavaScript 基础深入——数据、变量、内存
MandyShen
2019-05-03
阅读 2 分钟
1.9k
JavaScript 基础深入——数据、变量、内存 什么是数据? 存储在内存中代表特定信息的,本质上是0100101..... 数据的特点:可传递、可运算 一切皆数据 内存中所有操作的目标:数据 算术运算 逻辑运算 赋值运算 运行函数 什么是内存? 内存条通电后产生的可储存数据的空间(临时的) 内存的产生和死亡:内存条(电路板)==>...
【1】JavaScript 基础深入——数据类型深入理解与总结
MandyShen
2019-05-03
阅读 3 分钟
1.4k
数据类型深入理解 数据类型分类 基本(值)类型(6种) String:任意字符串 Number:任意的数字 boolean:true/false null:null undefined:undefined Symbol: ES6新增,表示独一无二的值 对象(引用)类型(3种) Object:任意对象 Array:一种特别的对象(数值下标,内部数据是有序的) Function:一种特别的对象(可...