随笔分类 - javascript
摘要:https://github.com/isaacs/node-glob
阅读全文
摘要:1使用两次indexOf来判断 代码略 2使用相反意义的正则表达式 3使用负向前瞻正则表达式 解释一下正则: 外层限定开始和结尾 外层限定开始和结尾 负向前瞻 负向前瞻 这个(?!.*(公司|合伙))只匹配位置,表明右边没有出现.*(公司|合伙)的情况就可以匹配。(公司|合伙)是分支的意思。 匹配任
阅读全文
摘要:当前时间:moment().format('YYYY-MM-DD HH:mm:ss'); 2017-03-01 16:30:12 今天是星期几:moment().format('d'); 3 Unix时间戳:moment().format('X'); 1488357012 相对时间:moment("
阅读全文
摘要:如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clusters”,你就能大概明白map/reduce的概念。 map 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3,
阅读全文
摘要:诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支
阅读全文
摘要:var a = [1,2,3]; var b = a; a.pop(); alert(b); //[1,2]
阅读全文
摘要:本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象。 下面这个函数,就是在做拷贝: var Chinese = { nation:'中国' } var Doctor = { career:'医生' } func
阅读全文
摘要:闭包的用途。事实上,通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率。 1 匿名自执行函数 我们知道所有的变量,如果不加上var关键字,则默认的会添加到全局对象的属性上去,这样的临时变量加入全局对象有很多坏处,比如:别的函数可能误
阅读全文
摘要:注:以下所有例子均 只 在 iOS 的微信中测试过,但对于饿了么APP的内置浏览器同样适用(两者使用相同内核) 引题 工作中常常有需要显示大量信息的情况,列表超出一屏就涉及到滚动的问题。例如 在 iOS 中用微信打开,滚动非常顺滑,so far so good!但某天产品需求有变,要求加一个固定在头
阅读全文
摘要:作为一个前端,不能不考虑性能问题。对于大多数前端来说,性能优化的方法可能包括以下这些: 等等…… 有兴趣的同学,可以自行搜索雅虎关于前端优化的十四条规则。但这些规则当中,有多少是需要前端工程师付诸实践的?就我来说,CDN、缓存的设置,就是不需要我去关心的(作为一个苦逼外包,是没有权限去生产环境操作的
阅读全文
摘要:这两天比较闲,写了两篇关于JS性能缺陷与解决方案的文章(《JS特性性能缺陷及JIT的解决方案》,《Javascript垃圾回收浅析》),主要描述了untyped,GC带来的问题与JIT引擎的解决方案。但相对于Js引擎的问题,我认为DOM导致的性能问题更值得关注。 一.Dom的性能瓶颈及原因 1. 为
阅读全文
摘要:引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试。 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都各自有自己的开发流程,构建工具,测试集合 关注点分离,前后端变得相对独立并松耦合 开发流程 后台编写
阅读全文
摘要:什么是耦合? 说白了,就是模块间的依赖性,就是耦合。 举个例子:5个人共同开发一个模块,应该尽量松耦合,就是联系越小越好,这样一个模块变动,另一个模块就不会变动。
阅读全文
摘要:MVC是一种设计模式,它将应用划分为3个部分:数据(模型)、展现层(视图)和用户交互(控制器)。其中: M - MODEL(模型) V - VIEW(视图) C - CONTROLLER(控制器) 一个事件的发生是这样的过程: 1. 用户和应用产生交互。 2. 控制器的事件处理器被触发。 3. 控制
阅读全文
摘要:这里讲了一个最最最简单的JS中基于原型链的继承和多态。 先看一下以下这段代码的实现(A是“父类”,B是“子类”): 输出结果为: 1 2 1 2 结果看来实现了一个函数,不同对象的执行,出现不同的结果。 B.prototype = new A(); 这句将A“类”的构造方法,赋值给了B的构造原型,使
阅读全文
摘要:定义函数的方法 定义函数的方法主要有三种: 其中,经常使用的是函数声明和函数表达式的函数定义方法,这两种方法有着很微妙的区别和联系,而且这两种方法的使用也容易混淆,所以这篇文章主要总结下这两种函数定义方法的相关知识点,当然本文的主题依然是关于函数提前的。 函数声明的典型格式: 函数表达式 函数表达式
阅读全文
摘要:原谅我做一次标题党,Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代。 最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的 $.ajax 迁移到 Fetch,上线一个多月以来运行非常稳定。结果证明,对于 IE8+ 以上浏览器
阅读全文
摘要:我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与com对象不能进行转换) 如: 1 var a={length:2,0:'first',1:'
阅读全文
摘要:github上关于mootools一个issue的讨论很有意思,所以就想测试记录下。感兴趣的可以点击原页面看看。 这个问题来自IE(LTE8)中对checkbox和radio change事件的实现问题,在IE(LTE8)中测试下来,当你点击一个checkbox或者radio,它的change事件是
阅读全文
摘要:这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。 在我的印象中,facebook是这个领域的鼻祖,有兴趣、有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化。 接下来,我想从原理展开讲述,多图,
阅读全文