JavaScript

从JavaScript属性描述器剖析Vue.js响应式视图

学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切皆对象,基本可以描述对象在JavaScript中的地位,而且JavaScript中对象的强大也使其地位名副其实,本篇介绍JavaScript对象属性描述器接口及其在数据视图绑定方向的实践,然后对Vue.js的响应式原理进行剖析。

深入理解Vue.js响应式原理

本人是Java背景,许多年前刚接触JavaScript时有点怪怪的,因为它没有 getterssetters。随着时间的推移,我开始喜欢上这个缺失的特性,因为相比Java大量的 gettersetter,它让代码更简洁。

代理(Proxy)和反射(Reflection)

ES5和ES6致力于为开发者提供JS已有却不可调用的功能。例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做JS引擎早就可以实现的事情。ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力。代理(Proxy)是一种可以拦截并改变底层JS引擎操作的包装器,在新语言中通过它暴露内部运作的对象,从而让开发者可以创建内建的对象。本文将详细介绍代理(Proxy)和反射(Reflection)。

JavaScript学习笔记: Object.defineProperty()

前段时间在学习Vue的双向绑定原理及实现时,简单的知道Object.defineProperty()有很大的用处。这个方法会直接在一个对象上定义一个新属性,或者修改一个对象现有的属性,并返回这个对象。感觉他非常强大,但并不知道其中原委。回过头来重新补一下这方面的基础知识。

JavaScript中的所有循环类型

在英语中,Loop这个词指的是由弯曲的曲线所产生的形状。类似的概念,Loop这个词已经被用于编程中。如果你看到下图,你就会清楚的知道指令的流动是如何在一个循环的动作中不断重复的。在编程中,循环的概念并不是什么新概念,它们常常在编码时使用。虽然不是的语言其语法不同,但基本概念是相同的,根据需要重复相同的代码块。JavaScript增加了循环类型(包括各种类型的循环),并使其与它们的工作更加舒适和高效。在本文中,我们将学习JavaScript中所有可用的循环。

被誉为神器的requestAnimationFrame

setTimeoutsetInterval不同requestAnimationFrame不需要设置时间间隔。这有什么好处呢?为什么requestAnimationFrame被称为神器呢?本文将详细介绍HTML5新增的定时器requestAnimationFrame

理解setTimeout和setInterval

很长时间以来,定时器一直是JavaScript动画的核心技术。但是,关于定时器,人们通常只了解如何使用setTimeout()setInterval(),对它们的内在运行机制并不理解,对于与预想不同的实际运行状况也无法解决。本文将详细介绍定时器的相关内容。

更快地构建DOM: 使用预解析, async, defer 以及 preload

在 2017年,保证我们的页面能够快速加载的手段包括压缩,资源优化到缓存,CDN,代码分割以及 Tree Shaking 等。 然而,即便你不熟悉上面的这些概念,或者你感到无从下手,你仍然可以通过几个关键字以及精细的代码结构使得你的页面获得巨大的性能提升。这些新的 Web 标准 <link rel="preload">,使你能够实现更快的关键资源的加载,在这个月晚些时候,Firefox 就能看到这些特性。在 Firefox Nightly 版本中或者 开发者版本 已经可以使用这些功能。于此同时,这也是回顾基本原理,深入了解 DOM 解析相关性能的一个好时机。

从零学习React技术栈: npm的安装配置和React开发环境配置

工欲善其事,必先利其器。在正式学习 React 技术栈之前,我们先来介绍一下之后经常要使用到的 npmnpm 是一个基于 Nodejs 的 JavaScript 包管理工具,全称叫做 Node Package Manager,所谓的包呢,其实就是可复用的代码,每个人都可以把自己编写的代码库发布到 npm 的源(英文叫做 registry)上面进行管理,你也可以下载别人开发好的包,在你自己的应用当中使用。

React.js小书:基本环境安装

React.js 单独使用基本上是不可能的事情。不要指望着类似于 jQuery 下载放到 <head /> 标签就开始使用。使用 React.js 不管在开发阶段生产阶段都需要一堆工具和库辅助,编译阶段你需要借助 Babel;需要 Redux 等第三方的状态管理工具来组织代码;如果你要写单页面应用那么你需要 React-router。这就是所谓的“React.js全家桶”。

页面

返回顶部