JS
文章平均质量分 65
辰辰沉沉大辰沉
某厂前端 xuelq007.com
展开
-
也来谈谈JS的执行上下文与词法环境
JS 的执行上下文(execution context)和词法环境(Lexical environment)是很多前端er时不时听到,却不曾深入了解的知识点。似乎只具理论意义,也不会影响我们日常编程。事实上,**词法环境的原理与我们常常用到的很多知识点息息相关,比如变量提升,闭包(closure),作用域链(scope),箭头函数的原理等等**。这些看似散乱甚至很多同学需要背诵的知识点,其实根本上都是JS词法规则的外化与延伸。原创 2020-02-16 19:05:07 · 1219 阅读 · 2 评论 -
let/const 的变量提升与暂时性死区
在面试或一些文章中提到 var 和 let/const 区别时,总说 var 有变量提升,let/const 不存在变量提升,这种说法是错误的. var 和 let/const 都有变量提升,但是 let/const 暂时性死区的存在要求调用该类变量前必须先经过显式赋值原创 2020-02-08 17:27:18 · 2471 阅读 · 2 评论 -
Async-Await ≈ Generators + Promises
原文链接 Async-Await ≈ Generators + Promises这篇文章主要向你阐述:为什么说 ES2017 中的 async 函数其实是 ES2016 中的特性 generator (生成器) 和 promise 之间的 “互动游戏”。勘误:原文说 async 是 ES2017 的特性,而 generator 和 promise 是 ES2016 的特性。事实上,as...翻译 2019-06-18 22:38:18 · 992 阅读 · 0 评论 -
Promise的真正意义--不只为回调地狱
前言前两天在吃饭时,同事忽然抛出一个问题,Promise 的真正意义是啥? 对话场景如下:他:Promise 的意义是啥?我:为解决回调地狱,增强了代码可读性,改善了代码结构他:这是大家都知道的,仅仅是为了这个吗? Promise 解决了什么回调不能解决的问题,如果仅仅是为了回调地狱和可读性,Promise从社区走向ES6标准这么长的历程是不是有点小题大作?我:宿主(浏览器,V8...原创 2019-06-01 16:17:18 · 1580 阅读 · 1 评论 -
HTML Attributes 与 DOM Properties
前言原创 2019-04-08 22:30:33 · 1590 阅读 · 0 评论 -
ZRender源码解读之让对象Eventful
最近在学习ZRender,同时也在做一个基于ZRender的开源小项目,就是利用Zrender封装好的canvas API,来实现一套通用的业务流程建模图。什么是ZRender就不解释了,请参阅...原创 2018-06-21 23:24:40 · 5917 阅读 · 1 评论 -
ES7之async/await 同步还是异步
async/await作为ES7的标准被视作javascript异步函数操作的终极解决方案(超越Promise和Generator)越来越受到重视,而随着前端构建工具的蓬勃发展,通过配置babel我们在项目中也可以直接使用这一新特性而无需太过在意浏览器的兼容性问题。有很多技术博客对这两个概念有非常棒的阐述,我之所以自己再写一篇主要是为了笔下走一遍加深理解同时方便以后翻看。也是因为最近在做的一件...原创 2018-02-24 15:37:52 · 15988 阅读 · 2 评论 -
Angular4 生命周期总结
Angular4 中组件从生到死经历了多个阶段,我们可以通过钩子函数进入到组件的每个生命阶段。关于生命周期的文章我看了很多,但是论清晰透彻都不如官方文档中的描述。我写这篇博客的目的是在认真阅读官方文档的基础上试图用最简单的一两句话对每个周期的特点做个总结,这样以后在回顾的时候可以用最短的时间把记忆唤醒。 Angular4 中文官方文档之组件生命周期下面就是我的总结:constructor:原创 2017-12-26 10:29:20 · 5192 阅读 · 0 评论 -
滚动条知识点之一: infinite scroll
移动开发中infinite scroll的应用场景以及实现要点。原创 2017-12-26 09:10:39 · 5144 阅读 · 0 评论 -
从e.target === e.currentTarget看js事件模型以及Jquery的坑
从项目中遇到的一个Jquery的bug说起。我们用Jquery监听了一个单元格的'mouseenter'事件,用来显示单元格内容的tooltip. 想做的事情很简单,但是QA开出来一个bug:鼠标从上一行或者下一行滑动到单元格,tooltip 可以正确显示。但是如果从同一行的其他单元格平行滑动过来,tooltip 是不显示的的。这个和事件机制有什么关系呢?让我试着慢慢道来。。1. 项目原创 2017-12-14 09:51:43 · 3109 阅读 · 0 评论 -
setTimeout & setInterval
那到底是setTimeout好还是setInterval 好呢。其实毫无疑问的,setTimeout比较好。setTimeout是在设定的时间后执行一次指定方法,而setInterval是每隔一定的时间久执行指定方法。可能很多人会存在疑问,这样不是setInterval更好吗,直接就可以实现循环了,setTimeout还要用递归实现循环。没错,setInterval实现循环更简单,但是却不是更好。转载 2015-09-10 13:33:06 · 1964 阅读 · 0 评论 -
js图片延迟加载
这里延迟加载的意思是,拖动滚动条时,在图片出现在浏览器显示区域后才加载显示。大概的实现方式是:在页面的load没有触发之前,把所有的指定id的元素内的img放入到imgs中,将所有的图片的src值放入到一个新建的_src属性中,把src设置为指定的显示图片。然后,在document.body的scroll事件触发时,循环计算imgs中的img元素位置是否正好在浏览器显示框范转载 2015-08-20 23:00:23 · 1977 阅读 · 0 评论 -
一个不对的思路: js, cache, 浏览器后退按钮
最近在看一个问题: AppScan 扫出了一个浏览器中的cache可能不安全的问题。解决方法就是disable cache.response.setHeader("Cache-Control", "no-store");response.setHeader("Pragma", "no-cache");response.setDateHeader("Expires", -1);原创 2015-09-09 16:51:42 · 2604 阅读 · 0 评论