JavaScirpt 货币转换成千分位正则 (非捕组获匹配详解)

如果给你一串数字,需要把他转换成货币的千分位格式,你会如何去做?比如:123123123 - 123,123,123 1. 一个有意思的正则表达式的由来 这其实是个陈年老问题了,但是不知为何最近的出镜率特别高,所以决定这里讨论一下。 先看一种传统的思维:从右侧起每隔三位加一个逗号。于是就有了下面的方法: javascript function money...
2017-06-07
3920 12 6

JavaScript 的多线程,Worker 和 SharedWorker

随着业务的发展,前端脚本处理大量数据的情况已经变的越来越常见了。但是,当我们尝试用前端脚本处理大量数据的时候,会发现这样的计算可能占用过多资源导致页面前端UI线程的假死。在这背景下,为了让页面有更好的体验,W3C在HTML5的规范中提出了Web Worker的概念,允许浏览器通过后台线程来执行复杂的事物或者逻辑。 1. 大量计算导致的页面假死 先让我们看一下什么情况下会导致页面假...
2017-05-07
6237 10 7

使用 gulp,webpack,es6,sass,react 等开发复杂单页面项目

自从开始放肆的使用es6之后就变得一发不可收拾,经手的很多项目也逐渐变成了基于react.js的单页面项目。中间走了不少弯路,尤其是在各种工具之间的选型和使用上,折腾大半年之后,稍稍记录一下这个过程中使用到的一些东西以及遇到的一些坑。 0. 初始化项目(npm相关) 开始之前先简单的介绍一下npm的相关知识,由于现代的项目依赖于各种工具插件,因此一个项目需要一个包管理工具...
2016-10-20
5099 35 9

用ToString生成验证码、字母序列

想要以更优的算法生成 "1d3ade","9ded19" 之类的验证码么? 想要快速生成"ABCDEFGHIJKL"之类的字母序列么? 通过 toString 的一些"trick",你可以以极简的算法复杂度实现上面的需求。 什么是toString? 其实不想用过多的笔墨介绍toString , 但是如果你真的还不知道什么是toString,那么你可能需要梳理一下你的前端知...
2015-11-02
3932 3 5

ES6 Module

相对比起Python,PHP等其他语言,JavaScript 在设计上视乎缺失了模块管理的部分,不过好消息是这些问题很快就会得到解决,在下一代JavaScript ECMASCRIPT 6中,这个问题被很好的解决了。 ES6 Module 特性 Module 特性是在14年的7月被完全确认的,这就意味着到目前为止,语法相对比较稳定。 Module 包...
2015-08-20
4125 2 2

Nodejs实现可训练的中文分词实践

前段时间在研究 TF-IDF、杰卡德相似系数计算文本的相似度的时候(目前我的博客中部分文章底部的“猜你喜欢”推荐的文章就是用这种算法计算出来的),用到了中文分词的一些东西,由于当时精力有限,直接用了python的“结巴分词”来实现。 恰巧听说老东家最近出了个算法大赛,题目就是就是对小说《三体》进行中文分词!闲下来简单的动手写了一个Node版的算法,100行代码,虽然还是很初级的,但是还是想写...
2015-06-26
7150 5 3

JavaScript 对象转换,toString,valueOf

开始这个话题之前,我们先看一下下面的几个例子: parseInt(0.0000004) 4 ![]==[] true ['x','y'] == 'x,y' true alert({name:'mofei'}) "[object Object]" 结果有时候会让我大吃一惊,这是为什么呢?今天就和大家讨论一下JavaScript的对象转换。 ...
2015-04-20
4884 3 9

Window.postMessage() HTML5 跨域解决方案

Hey,everybody~ 又是倒霉的跨域 T T , 有多少人死在了“说出你知道的跨域解决方案,越多越好?”这个面试问题上。 今天和大家说说,HTML5提供的一个跨域解决方案,Window.postMessage , 它足够易学好用,会让你眼前一亮。但是往往大多数情况下,都不会让人一直笑下去,俗话说道高一尺魔高一丈,这个方法同样也会被HTTP的一些协议所限制着,比如X-Frame...
2015-04-08
4593 4 4

webGL 学习手记 | webGL 教程 (二)

上一篇的文章 《webGL 学习手记 webGL 教程 (一)》 说到如何获取webGL的上下文 , 这是webGL的第一步,就好比上画家拿到了绘画的纸。接下来,在拿到webGL的上下文之后,我们就可以愉快的和webGL玩耍了。 * [DEMO预览](http:zmo...
2014-12-03
5563 2 0

Javascript获取服务器系统时间

背景 很多时候,比如有些抽奖、倒计时等应用需要用到时间,但是单纯的 new Date() 获取到的本地时间非常之不可靠,因为任何人都可以很容易的修改,这个时候我们就需要用到系统时间。 通常情况下我们会和服务端约定好一个接口,这个接口用来返回系统时间。其实在实际的项目中,这个接口可以省略,我们可以通过另外一种方法获取服务器的时间。 相关技术 如果你熟悉HTTP...
2014-06-24
8957 0 6

Flexbox 布局完全解析

Flexbox 布局完全解析 最近看到不少,关于布局的讨论,有用百分比自适应的,有用Table layout的,还有用媒体查询的,方法各式各样,每个都可以乐此不疲的讨论个大半天。不过话又说回来,程序员,尤其是搞前端的大多都是喜新厌旧的,这里准备非常非常非常详细的说一下Flexbox布局模式。 Flexbox Layout 模式,旨在实现更方便,更有效的进行布局,很久以前,在我第一次...
2014-06-12
10590 2 2

manifest 详解以及规范

manifest 详解以及规范 HTML5 提供了应用缓存功能,可以让浏览器保存上一次打开的文件,以便在没有网络的情况下进行访问。 使用应用缓存有以下的优势 * 离线访问:当用户离线的情况下任然可以继续访问网站 * 速度优势:文件从本地加载,数独优势 * 减少服务器压力:浏览器只下载变动的文件,多次加载同一个页面的时候不会通过服务器多次访问同一个文件 使用...
2014-04-12
8136 1 3