摘要: JavaScript执行上下文栈和变量对象 JS是 单线程 的语言,执行顺序肯定是 顺序执行 ,但是JS 引擎并不是一行一行地分析和执行程序,而是一段一段地分析执行,会先进行编译阶段然后才是执行阶段。 例子一: 变量提升 例子二: 函数提升 例子三:声明优先级, 函数 变量 上面三个例子中,第一个例 阅读全文
posted @ 2019-12-19 13:35 _wyh 阅读(163) 评论(0) 推荐(0) 编辑
摘要: js中的各种宽高以及位置总结 在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动原理,同时,由于这些属性概念较多,加上浏览器之间实现方式不同,常常会造成概念混淆,经过研究之后,这里来进行一个总结。 阅读全文
posted @ 2019-12-18 16:22 _wyh 阅读(537) 评论(0) 推荐(0) 编辑
摘要: JavaScript的运行机制 (1)所有同步任务都在主线程上执行,形成一个执行栈。 (2)主线程之外,还存在"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。 主线程自上而下执行所有代码,同步任务直接进入到主线程被执行,而异步任务则进入到 并注册相对 阅读全文
posted @ 2019-12-17 11:50 _wyh 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 数组扁平化概念 数组扁平化是指将一个多维数组变为一维数组 实现 1. reduce 参数 执行数组中每个值 (如果没有提供 )的函数,包含四个参数: 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或 (见于下方)。 数组中正在处理的元素。 可选数组中正在处理的当前元素的索引。 如果提供 阅读全文
posted @ 2019-12-17 11:40 _wyh 阅读(649) 评论(0) 推荐(1) 编辑
摘要: new的过程 js // new运算的过程 / 1、创建一个空对象; 2、该空对象的原型指向构造函数(链接原型):将构造函数的 prototype 赋值给对象的 __proto__属性; 3、绑定 this:将对象作为构造函数的 this 传进去,并执行该构造函数; 4、返回新对象:如果构造函数返回 阅读全文
posted @ 2019-12-08 22:01 _wyh 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 堆数据结构 堆数据结构是一种树状结构。它的存取数据的方式与书架和书非常相似。我们只需要知道书的名字就可以直接取出书了,并不需要把上面的书取出来。JSON格式的数据中,我们存储的 可以是无序的,因为顺序的不同并不影响我们的使用,我们只需要关心书的名字。 队列 队列是一种先进先出( FIFO )的数据结 阅读全文
posted @ 2019-12-08 21:50 _wyh 阅读(364) 评论(0) 推荐(0) 编辑
摘要: JS是 单线程 的语言,执行顺序肯定是 顺序执行 ,但是JS 引擎并不是一行一行地分析和执行程序,而是一段一段地分析执行,会先进行编译阶段然后才是执行阶段。 例子一: 变量提升 例子二: 函数提升 例子三:声明优先级, 函数 变量 上面三个例子中,第一个例子是变量提升,第二个例子是函数提升,第三个例 阅读全文
posted @ 2019-12-01 20:38 _wyh 阅读(168) 评论(0) 推荐(0) 编辑
摘要: JavaScript 中的执行上下文和执行栈 执行上下文是当前 JavaScript 代码被 解析 和 执行 时所在环境的 抽象概念 。 执行上下文的类型 执行上下文总共有三种类型 全局执行上下文 :只有一个,浏览器中的全局对象就是 window 对象, 指向这个全局对象。 函数执行上下文 :存在无 阅读全文
posted @ 2019-12-01 20:30 _wyh 阅读(568) 评论(0) 推荐(0) 编辑
摘要: this的绑定方式基本有以下几种: 1. 隐式绑定 2. 显式绑定 3. new 绑定 4. window 绑定 5. 箭头函数绑定 隐式绑定 第一个也是最常见的规则称为 。 调用 ,所以 指向了对象 我们来看一个类似但稍微高级点的例子。 第一个sayName,指向的是wrapper 第二个sayN 阅读全文
posted @ 2019-11-25 19:43 _wyh 阅读(782) 评论(0) 推荐(0) 编辑
摘要: this 的指向,始终坚持一个原理: this 永远指向最后调用它的那个对象 如果没有调用的对象,那么调用对象就是全局对象window。 需要注意的是,这里我们没有使用严格模式,如果使用严格模式的话,那么全局对象就是 undefined,就会报错 Uncaught TypeError: Cannot 阅读全文
posted @ 2019-11-23 14:00 _wyh 阅读(114) 评论(0) 推荐(0) 编辑