JavaScript 深入系列之浮点数精度

2020-03-16
阅读 5 分钟
2.6k
0.1 + 0.2 是否等于 0.3 作为一道经典的面试题,已经广外熟知,说起原因,大家能回答出这是浮点数精度问题导致,也能辩证的看待这并非是 ECMAScript 这门语言的问题,今天就是具体看一下背后的原因。

ES6 完全使用手册

2018-11-28
阅读 14 分钟
10.5k
前言 这里的 "ES6" 泛指 ES5 之后的新语法 这里的 "完全" 是指本文会不断更新 这里的 "使用" 是指本文会展示很多 ES6 的使用场景 这里的 "手册" 是指你可以参照本文将项目更多的重构为 ES6 语法 此外还要注意这里不一定就是正式进入规范的语法。 1. let 和 const 在我们开发的时候,可能认为应该默认使用 let 而不是 var...

ES6 系列之 defineProperty 与 proxy

2018-11-09
阅读 7 分钟
6k
我们或多或少都听过“数据绑定”这个词,“数据绑定”的关键在于监听数据的变化,可是对于这样一个对象:var obj = {value: 1},我们该怎么知道 obj 发生了改变呢?

ES6 系列之模拟实现一个 Set 数据结构

2018-07-18
阅读 9 分钟
8.3k
基本介绍 ES6 提供了新的数据结构 Set。 它类似于数组,但是成员的值都是唯一的,没有重复的值。 初始化 Set 本身是一个构造函数,用来生成 Set 数据结构。 {代码...} Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 {代码...} 属性和方法 操作方法有: add(value):添加某个...

ES6 系列之模拟实现 Symbol 类型

2018-06-12
阅读 10 分钟
10k
实际上,Symbol 的很多特性都无法模拟实现……所以先让我们回顾下有哪些特性,然后挑点能实现的……当然在看的过程中,你也可以思考这个特性是否能实现,如果可以实现,该如何实现。

ES6 系列之箭头函数

2018-06-04
阅读 5 分钟
12.1k
回顾 我们先来回顾下箭头函数的基本语法。 ES6 增加了箭头函数: {代码...} 相当于: {代码...} 如果需要给函数传入多个参数: {代码...} 如果函数的代码块需要多条语句: {代码...} 如果需要直接返回一个对象: {代码...} 与变量解构结合: {代码...} 很多时候,你可能想不到要这样用,所以再来举个例子,比如在 React ...

ES6 系列之模板字符串

2018-05-30
阅读 7 分钟
6k
基础用法 {代码...} 如果你碰巧要在字符串中使用反撇号,你可以使用反斜杠转义: {代码...} 值得一提的是,在模板字符串中,空格、缩进、换行都会被保留: {代码...} 注意,打印的结果中第一行是一个换行,你可以使用 trim 函数消除换行: {代码...} 嵌入变量 模板字符串支持嵌入变量,只需要将变量名写在 ${} 之中,其...

JavaScript深入之从ECMAScript规范解读this

2017-04-13
阅读 8 分钟
6.6k
在《JavaScript深入之执行上下文栈》中讲到,当JavaScript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context)。