ECMAScript 2022 简介

ECMAScript 2022 中共有 8 个提案被添加了进来。通过这些提案,我们可以更简便地判断某个属性是否是对象自身所拥有的、可以直接获取数组最后的第 N 个元素、也有了更好地关联错误信息的方式、以及可以获取到正则捕获组所匹配部分的位置信息、也终于可以名正言顺地使用顶级 await、以及最重要的,我们有了一套充满争议的类属性定义方式。 ...

在 for 语句中使用 let 或 const 声明循环变量与使用 var 时有什么区别?

在 ECMAScript 中定义了四种 for 循环语句:for、for-in、for-of 以及 for-await-of,它们都可以在其循环表达式中声明变量。而自 ES2015 之后有三种声明变量的方式:var、let 和 const,这三种变量声明方式都可以使用在所有 for 循环语句中。那么,这三种变量声明方式在 for 循环语句中有什么区别,以及在实际编写代码时我们应该使用哪种声明方式?这篇文章将会聊一下这些问题。 ...

ECMAScript 2020 简介

自 ECMAScript 2015 以来,ES 将不再进行大幅度变更,而是改为每年小副更新:每年某个时候, TC39 会整理并发布一份新版的草案,并在经过一段时间的增补修订之后将其提交给 ECMA 组织,开始正式生效。因此从去年开始,我准备在每年年初时系统地了解一下新出的特性,并顺便写一篇文章。而这一篇,就是关于今年 ECMAScript 2020 的。(话说,最近三年每年都是新增 8 个提案,标准组织里是不是某个对 8 有特殊的癖好) ...

ECMAScript 2019 简介

> 自 ECMAScript 2015 以后,ES 将不再进行大幅度变更,而是改为每年小副更新。大约从每年的 2 月份开始,TC39 会开始整理当年新版的草案,并经过一段时间的修订之后,提交给 ECMA 开始正式生效。 自那之后,转眼之间,到今年已经是第五个年头了。 不久前 ES2019 的草案已经推出,再等一段时间,新的正式版本将又一次呈现在广大的前端程序员面前。 ...

聊聊一物理像素边框

> 本文只是基于「一物理像素边框」这一主题随意写的一些碎碎念,其中并不会详细讲解各种实现方式及其原理,如果想要知道这些内容,你在网上可以检索到很多,比如大漠的 再谈Retina下1px的解决方案 [https://www.w3cplus.com/css/fix-1px-for-retina.html] 就很不错。 像素单位 首先,先聊下我们最常用的 CSS 单位 —— 'px'。 按照 CSS 的规定,单位 ...

解决 iframe 在 iOS 中的高度问题

通常情况下,iframe 的尺寸由父页面进行控制,在 iframe 内打开的子页面只能在这个限定的区域内显示内容,而几乎所有浏览器也都是按照这种方式去实现的。但在 iOS 系统中,iframe 的高度却与此有了很大出入:如果 iframe 的高度小于其内容高度,则会强制拉高 iframe 以适应内容高度,且父页面没有任何手段控制它。 ...

SASS 单元测试

前不久在为 Nojiko 寻找单元测试方案,这是当时列出的期望包含的特性: * 使用 sass 编写测试脚本; * 支持测试 mixin; * 支持 mocha 等测试框架; * 能够集成到 gulp 等自动构建工具中; 按照以上需求,最终只找到了一个单元测试库,就是本文所要讲的 true [http://oddbird.net/true/] ,而且该库除了能满足所有需求之外,其本身的 API ...

替换元素导致 IE6 中的行高设置失效

在 IE6 中,如果给某个元素设置了行高,而该元素内又有一个替换元素(input、img 或设置为 inline-block 的元素),则会导致其行高设置无效,该元素的高度将塌缩,其高度与内部的替换元素相同(在只有一行时) ...

定义函数

javascript 中有三种定义函数的方式,每种方式都有自己的优缺点,这也使得我们在什么时候使用哪种方式成为了一个问题。我希望能够通过一些简单的文字让大家简单的理解一下这三种方式,之后,大家可以看看我在文章末尾提供的一些资料 ...