0%

概述

从诞生最初,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。

为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。

阅读全文 »

Nodejs是什么?

官网是这样介绍Nodejs的:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。

那么,NodeJs、 V8 和JavaScript 三者之前到底是怎样一种关系?这些我们经常挂在嘴边的东西,本文我们再一次进行梳理。

阅读全文 »

概述

一次在跟同事讨论中忽然萌生了自己手动搭建一套上线系统的想法,第一次上手,所以选用了业内比较成熟的方案-jenkins。之前只是用过jenkins进行过一些操作,并未自己从0到1完成搭建,本文记录下自己整个过程中的遇到的一些问题与解决方案。

阅读全文 »

概述

ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011 年 2 月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统称为二进制数组。

这个接口的原始设计目的,与 WebGL 项目有关。浏览器与显卡之间的大量通信都是通过二进制数据完成的,而传统的文本格式是32位整数,为了解决数据转化的效率低下问题,使得二者可以直接通过二进制进行通信,二进制数组就是在这种背景下诞生的。它很像 C 语言的数组,允许开发者以数组下标的形式,直接操作内存。

阅读全文 »

概述

现有的浏览器存储方案有,cookie, localStorage, sessionStorage,他们都可以进行存储,但仅限于key-value形式,而且只能存储字符串,且Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,于是 IndexedDB 就诞生了。

阅读全文 »

客户端JavaScript中的API

客户端JavaScript中有很多可用的API — 他们本身并不是JavaScript语言的一部分,却建立在JavaScript语言核心的顶部(window),为使用JavaScript代码提供额外的超强能力。他们通常分为两类:

  • 浏览器API:内置于Web浏览器中,能从浏览器和电脑周边环境中提取数据,并用来做有用的复杂的事情 。如:Geolocation API
  • 第三方API: 缺省情况下不会内置于浏览器中,是在某些情况下执行后挂载在全局window下

那么,我们每天使用的浏览器,里面到底有多少“API”?

阅读全文 »

概述

我们在安装依赖的时候,安装完毕后遇到一些提示:

added 1272 packages from 726 contributors and audited 11912 packages in 26.194s
found 10 vulnerabilities (6 moderate, 4 high)
  run `npm audit fix` to fix them, or `npm audit` for details

可能你已经注意到了 npm audit fix ,这个指令到底是干嘛的?

阅读全文 »