正则表达式RegExp

2018-09-10
阅读 5 分钟
1.8k
所谓正则表达式,就是用一个特定的表达式完成字符串匹配的工作,我们可以规定什么字符以什么方式出现,出现多少次,前后需要有什么,然后提取出符合这个要求的字符串或者判断某个字符串是否符合这个要求。

setTimeout和setInterval

2018-09-10
阅读 5 分钟
1.1k
这两个方法在形式看起来很相似,第一个参数是异步执行的函数(用字符串表示的代码也可以,不过很少这样用),第二个参数是时间(ms)。但其实这两个函数还是有很大区别的

剑指offer--JavaScript版

2018-09-10
阅读 34 分钟
5.2k
本文为8月牛客网《剑指 offer》刷题做得,现整理出来作为参考。虽然是算法题,但本文用 JavaScript 编写,看了《剑指 offer》以后发现很多问题处理的过程并不是最好的,所以本文仅供参考。以前全部代码 AC 通过,但即便是 AC 的代码也不见得就是最好的,比如有的内存分配了却没有释放,这样的问题牛客网是查不出来的。

鼠标事件和距离属性

2018-09-10
阅读 4 分钟
5.7k
Chrome Dev 54.0.2840.71Firefox 49.0Opera 41.0Safari 10.1IE 11。前四者运行在macOS Sierra 10.12上,IE11运行在搭载windows10 1607的虚拟机上

github GPG 配置

2018-09-10
阅读 1 分钟
4.1k
GPG是一种加密算法,现在github支持commit使用GPG加密,从而保证提交的commit在传输的过程中没有被篡改。详细信息可以查看:[链接]

git 多账户配置

2018-09-10
阅读 2 分钟
2.4k
环境 MacOS 检查是否已有全局账户设置: {代码...} 如果都没有返回值,就说明没有已配置的 git 账户,否则请删除账户信息: {代码...} 生成公钥和秘钥 {代码...} 注意 生成过程中的 Enter file in which to save the key (/Users/faremax/.ssh/id_rsa): 一步骤请分别起不同的名。 查看生成的文件: {代码...} {代码...} ...

基本数据结构和查找算法

2018-09-06
阅读 16 分钟
1.7k
本文包括简单的数据结构和查找算法,属于个人整理。初学编程可以用这里的东西联系一下,看一看也挺有意思博主个人不认为js中算法数据结构不重要,毕竟这是程序开发的基本功。本文还会根据博主学习进展和时间安排不定期更新

基于 Javascript 排序算法

2018-09-06
阅读 9 分钟
4.1k
个人感觉:javascript对类似排序查找这样的功能已经有了很好的封装,以致于当我们想对数组排序的时候只需要调用arr.sort()方法,而查找数组元素也只需要调用indexOf()方法或lastIndexOf()方法,我们忽略了其内部的实现。而今,js能开发的项目越来越庞大,对性能和效率要求也越来越高,虽然众多的库和框架也可以帮我们应...

Javascript模块化开发基础

2018-09-06
阅读 7 分钟
1.5k
JS 作为一名编程语言,一直以来没有模块的概念。严重导致大型项目开发受阻,js 文件越写越大,不方便维护。其他语言都有模块的接口,比如 Ruby 的 require,python 的 import,C++ 天生的 #include,甚至 CSS 都有 @import。在 ES6 之前,有主要的2个模块化方案:CommonJS 和 AMD。前者用于服务器,后者用于浏览器。Comm...

http状态码

2018-09-06
阅读 4 分钟
1.8k
本文参考以下博客内容以及维基百科[链接][链接] 1**:请求收到,继续处理 状态码 状态字 描述 100 Continue 客户必须继续发出请求剩余部分,服务器必须在请求完成后向客户端发送一个最终响应。 101 Switching Protocols 服务器通过update头要求客户端转换HTTP协议版本或不同协议。 102 Processing 处理将被继续执行。 2*...

Javascript 函数、作用域链与闭包

2018-09-06
阅读 7 分钟
1.9k
闭包是js中一个极为NB的武器,但也不折不扣的成了初学者的难点。因为学好闭包就要学好作用域,正确理解作用域链,然而想做到这一点就要深入的理解函数,所以我们从函数说起。

Javascript this详解

2018-09-06
阅读 10 分钟
4.2k
不论是面向对象,还是基于对象的语言,都会有this,我更喜欢叫他this指针,如果你不理解指针,认为它是个引用也无妨。这一片文章就是整理一下在各个情况下的this到底引用的是谁。一次来明白this的用法,下面将是一段段的代码,每段代码后面可能有简短的说明,就是这样简单粗暴。

内存管理与垃圾回收

2018-09-05
阅读 7 分钟
1.5k
首先我们需要理解,内存是什么。简单来讲,内存存储了计算机运行过程的需要的全部数据,也就是计算机正在使用的全部数据。我们需要合理的使用内存,防止内存被大量无用数据占用,同时也要防止访问和修改与当前程序无关的内存区域。内存主要包括以下几个部分: 内核数据区域,栈区,共享库映像,堆区,可读写区域,只读区...

Javascript数据类型与基本运算

2018-09-05
阅读 5 分钟
1.3k
标识符命名规则 对于变量名,键值对中的键名应满足如下要求: 开头必须是字母、下划线(_)或美元符号($) 除了开头以外的字符也可以是数字 不可以是关键字和保留字 最好不要和全局变量/函数同名,会把原有变量/函数覆盖的风险 这里,关键字就是在 js 中有特殊意义的单词,而保留字是为了以后使用预留的词语。但不要求背它...

javascript对象、类与原型链

2018-09-05
阅读 13 分钟
1.9k
是否可写指得是其值是否可修改;是否可枚举指的是其值是否可以被for...in...遍历到;是否可配置指的是其可写性,可枚举性,可配置性是否可修改,并且决定该属性可否被删除。

Javascript 严格模式特点

2018-09-05
阅读 5 分钟
2.7k
以下是严格模式中需要注意的用法,这里需要强调的是:ES6 的 class 和 模块内都是默认的严格模式。其实,js 开发也会逐步走向严格模式,这应该是个趋势。

ECMAScript6(19):Module 模块

2018-09-05
阅读 7 分钟
1.5k
JS 作为一名编程语言,一直以来没有模块的概念。严重导致大型项目开发受阻,js 文件越写越大,不方便维护。其他语言都有模块的接口,比如 Ruby 的 require,python 的 import,C++ 天生的 #include,甚至 CSS 都有 @import。在 ES6 之前,有主要的2个模块化方案:CommonJS 和 AMD。前者用于服务器,后者用于浏览器。Comm...

ECMAScript6(18):Decorator修饰器

2018-09-05
阅读 3 分钟
1.5k
修饰器是 ES7 提出的一个提案,用来修改类的行为。目前需要 babel 才可以使用。它最大的特点是:可以在编译期运行代码!其本质也就是在编译器执行的函数。其执行格式如下:

ECMAScript6(17):Class类

2018-09-05
阅读 12 分钟
1.5k
class 是 ES6 模仿面向对象语言(C++, Java)提出的定义类的方法。形式类似 C++ 和 Java (各取所长), 下面例子展示了 class 是如何定义构造函数、对象属性和对象动/静态方法的:

ECMAScript6(16):异步编程

2018-09-05
阅读 8 分钟
1.3k
程序执行分为同步和异步,如果程序每执行一步都需要等待上一步完成才能开始,此所谓同步。如果程序在执行一段代码的同时可以去执行另一段代码,等到这段代码执行完毕再吧结果交给另一段代码,此所谓异步。比如我们需要请求一个网络资源,由于网速比较慢,同步编程就意味着用户必须等待下载处理结束才能继续操作,所以用...

ECMAScript6(15):Promise 对象

2018-09-05
阅读 10 分钟
1.2k
Promise 对象用来传递异步操作消息,代表一个未来才会知道结果的事件,并且对不同事件提供统一的 API 以便进一步处理。Promise 具有以下特点:

ECMAScript6(14):iterator 迭代器

2018-09-05
阅读 6 分钟
1.1k
由于 ES6 中引入了许多数据结构, 算上原有的包括Object, Array, TypedArray, DataView, buffer, Map, WeakMap, Set, WeakSet等等, 数组需要一个东西来管理他们, 这就是遍历器(iterator)。

ECMAScript6(13):Generator 函数

2018-09-05
阅读 11 分钟
1.2k
Generator 函数是 es6 中的新的异步编程解决方案,本节仅讨论 Generator 函数本身,异步编程放在后面的部分。Generator 函数之前也提到过,描述内部封装的多个状态,类似一个状态机,当然也是很好的 iterator 生成器。Generator 函数的基本形式如下:

ECMAScript6(12):Proxy 和 Reflect

2018-09-05
阅读 7 分钟
1.4k
Proxy 用来修改某些默认操作,等同于在语言层面做出修改。所以属于一种元编程(meta programming), 即对编程语言进行编程。字面理解为Proxy代理了某些默认的操作。其使用格式如下:

ECMAScript6(11):Set 与 Map

2018-09-05
阅读 5 分钟
1.6k
Set Set 是一种集合结构,特征和数学中的一致,具有以下特征: 同一个集合中不能有相同元素 set 可以存放不同类型的数据 但使用过程中请注意以下几点: 存入 set 的数据不会进行类型转换,即'5'和 5 是不一样的 内部采用严格相等比较元素,但-0等于+0,NaN也等于NaN 定义聚合和定义其他数据结构一样,其构造函数接受一个...

ECMAScript6(10):Symbol基本类型

2018-09-05
阅读 7 分钟
1.2k
可是这样写,即便已存在同名方法,但他们实现的功能不一定一样,而且函数的接口也不一定适合自己。这样我们就不得不再给自己的函数起个其他的名字,可以万一又存在呢?

ECMAScript6(9):正则表达式的扩展

2018-09-05
阅读 2 分钟
1.1k
正则表达式扩展 构造函数支持传入正则得到拷贝,同时可以用第二参修改修饰符 {代码...} 引入新的修饰符 ES5中的修饰符有3个, 加上 ES6 的修饰符,一共5个: 修饰符 描述 描述 m multiline 多行模式 i ignore case 忽略大小写模式 g global match 全局匹配模式 u unicode unicode模式 y sticky 粘连模式 unicode 模式为了...

ECMAScript6(8):对象的扩展

2018-09-05
阅读 6 分钟
1.2k
基本扩展 允许使用已有对象赋值定义对象字面量,并且只写变量名即可 {代码...} 可以像定义存取器那样定义方法 {代码...} 注意,以下代码是等同的: {代码...} 如果一个方法是 Generator 函数,需要在前面加 *: {代码...} 属性名表达式 js 本来可以这样 obj['k'+'ey'] 访问一个对象属性,现在也可以这样定义属性了: {代...

ECMAScript6(7):二进制数组

2018-09-05
阅读 8 分钟
2.3k
这个部分如果没有C语言和计算机基础会比较难理解,如果实在理解不了可以收藏它,日后再看。 二进制数组其实很早就有了,不过为了 WebGL 中,数据可以高效和显卡交换数据。分为3类: ArrayBuffer:代表内存中的一段二进制数据; TypedArray:读写简单的二进制数据,如 Uint8Array, Int16Array, Float32Array 等9类; Data...

ECMAScript6(6):数组的扩展

2018-09-05
阅读 5 分钟
1.3k
数组的扩展 Array, from() 将类数组对象和可遍历对象转化为真正的数组。 {代码...} 和它类似的是扩展运算符, 一样可以实现该功能(要求对象具有遍历器接口): {代码...} Array.from() 接受第二参数(函数), 用来映射结果, 相当于 map, 并且可以用第三个参数绑定 this: {代码...} 技巧, 用 Array.from() 指定函数运行次数: {...