Tag
标签:JavaScript
15 篇
关于 js 的取整
今天在写一个倒计时的时候,突然想起一个问题,“对于 js 的小数取整,那种方法效率最高呢?” 然后我就把我能想到的取整的方法做了一下测试,大概是这个样子 然后我把每种方法跑了 10^7 次,取了一下平均值,然后发现: Math.floor 耗时 0.0000197 ms parseInt 耗时 0.0000225 ms (-100/3)、(-100/3 >> 0)、(-100/3 | 0) 三个耗…
Javascript 中的装饰器
前言 在 ES6 中增加了对类对象的相关定义和操作(比如 class 和 extends ),这就使得我们在多个不同类之间共享或者扩展一些方法或者行为的时候,变得并不是那么优雅。这个时候,我们就需要一种更优雅的方法来帮助我们完成这些事情。 Python 中的装饰器 decorators 即 装饰器,这一特性的提出来源于 python 之类的语言,如果你熟悉 python 的话,对它一定不会陌生。那…
用 mocha 和 istanbul 测试你的 Babel 应用
补一篇文章,攒了好几篇想写的内容,今天先补一篇,然后慢慢补 单元测试这种东西大家都很熟悉了,它可以很方便的帮助你进行自检,增加代码的稳定性,同时可以帮助我们完成持续集成。mocha 大家也比较熟悉了,这里也不说了 先说一下 istanbul 这货吧,没错,就是伊斯坦布尔,其实就是一个检测代码覆盖率的一个工具,然后 Github 长这样儿 [istanbul][1] 这货可以帮你检测你各个地方的 j…
在 ajax 跨域请求中携带 cookie 做身份认证
好吧,一如既往的短篇记录性文章,记下坑供查阅 原因大概是这样的,公司有很多内网的服务系统,同属于同一个主域,但是是不同的子域,然后呢,当在一个系统需要调用另一个系统的时候,就会出现跨域的问题。所以呢,我们打算写一个通用代理程序来做中转,然后呢,先简单贴一下代码吧 嗯嗯,大概就是这样的 但是,马上我们就发现了问题,是的,事情总不会这么顺利。接下来我们发现,因为这个代理 Server 和 web 也不…
browserify的一个坑
发现了一个比较神奇的坑,拿过来记一下。 今天用browserify构建代码的时候,发现老是提示: Error: EMFILE, open '.........' 郁闷的很,完全看不出原因,于是乎求助全知的谷姐,被告知一条消息:“打开文件过多” What's the .... 好吧,大概翻了一下,因为browserify是将你require的若干个模块打到一个文件里,所以会有大量的文件读写操作,然后…
关于json文件的注释
很好,每天折腾涨姿势~ 最近赶进度,速度记一下: 就是今天写了一个json的配置文件,然后随手标上了两行注释,然后node读的时候就报错了,一直以后json就是js的语法,后来查阅了一下发现了说json文件是不支持注释的,想了想也对,人家本来就是一个数据形式,一条字符串而已,注释这种东西貌似确实有点儿不适合。。。。 所以呢,我们就放弃注释了么?想象一下别人看你这配置文件是的表情,就这个feel,倍…
js中的valueOf和toString方法小测试
故事的起因源于群中有人提的一个问题: a(1)=1; a(1)(2)=3; a(1)(2)(3)=6; 还原出函数a 好吧,我刚看到这个题目的时候,第一反应就是递归的闭包,然后就写了下面这一版: 但是这样的执行是这样的: a(1)(); // 1 a(1)(2)(); // 3 和题目要求的不一样,而且还有sum没有及时重置,所以,这个办法不行 然后想了一会儿没想出好办法…
setTimeout(0)小记
话说这连天在修改原来老前辈留下来的js代码的时候,一不小心就遇到了一个蛋疼的问题,这里我就简单的抽象出一个模拟的栗子来,大概就是下面这个样子: $("body").append("<textarea rows=6></textarea>"); console.log($("textarea").height()); 差不多就是这样吧,so,console的结果是? 是红果果…
JS的变量被覆盖问题
今天晚上闲下来想去试试Jquery的animate函数,本来想随便写个看看效果,兰侯就去吃饭的,结果。。。。 先来看看刚开始写的吧 <html> <head> <script src="http://code.jquery.com/jquery-1.9.1.min.js" language="Javascript"></script> <scr…
一个闭包引发的血案
先声明一下,以下内容完全是个人经验的认识,并不保证正确,不要误导了还在茁壮成长的童鞋 此事说来话长,话说从盘古开天辟的时候。。。(这你妹也太长了点儿吧。。。) =。=! 好吧好吧,其实就是昨天,办公室里的一个师哥在研究JS的闭包,然后就追溯到了JS变量的作用域链,并且最后弄出了这样一段代码: function makefunc(x) { return function()…