var

JavaScript设计模式----单例模式

声明:这个系列为阅读《JavaScript设计模式与开发实践》 ----曾探@著一书的读书笔记1.单例模式的特点和定义保证一个类仅有一个实例,并且提供一个访问它的全局访问点。2.传统面向对象语言的单例模式2.1传统语言描述的单例模式JavaScript实现var Singleton = function(name) {this.name = name;this.instan

使用 Nodemailer 发送邮件

Nodemailer 是一个基于Node的邮件服务模块。使用 Nodemailer 完成一个发邮件功能非常简单,只需3步:引入模块创建 transport发送邮件引入模块首先安装 Nodemailernpm install nodemailer引入var mailer = require('nodemailer');创建transport创建 transport 使用 No

nodejs爬虫项目实战

这篇文章主要介绍了NodeJS制作爬虫的全过程,包括项目建立,目标网站分析、使用superagent获取源数据、使用cheerio解析、使用eventproxy来并发抓取每个主题的内容等方面,有需要的小伙伴参考下吧。一、 依赖1. DOM操作 cheerio2. 请求插件 request3. http库 superagent4. 代理 eventproxy二、建立项

JavaScript简易排序算法及简易优化

JavaScript简易排序算法及简易优化快速排序原理:在待排序序列中选一个分割元素,将待排序序列分隔成独立的子序列,子序列1里的元素比分割元素元素都小(大),子序列2反之,递归进行此操作,以达到子序列都有序。最后将子序列用concat方法连接起来即是排序好的序列。function quickSort(arr){ if(arr.length tmp){

Gulp

简介工程化工具作用:实现代码部署css,JS,html代码压缩ES6,less,styls代码编译图片优化...原理:基于unix中管道概念,stream流,前一个操作的输出作为后一个操作输入。Gulp入口文件gulpfile.js 每个项目中都需要有这个文件,当执行gulp会自动执行该文件。task()定义一个任务gulp.task(name, [deps], fn);参

nodejs读写ecel内容

支持读写Excel的node.js模块 node-xlsx: 基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件; excel-parser: 基于Node.js解析excel文件数据,支持xls及xlsx格式文件; excel-export : 基于Node.js将数据生成导出excel文件,生成文件格式为xlsx; node-xlrd:

JavaScript设计模式----装饰者模式

装饰者模式的定义:装饰者(decorator)模式能够在不改变对象自身的基础上,在程序运行期间给对像动态的添加职责。与继承相比,装饰者是一种更轻便灵活的做法。装饰者模式的特点:可以动态的给某个对象添加额外的职责,而不会影响从这个类中派生的其它对象;继承的一些缺点:继承会导致超类和子类之间存在强耦合性,当超类改变时,子类也会随之改变;超类的内部细节对于子类是可见的,继承常常被

实现小小的fullpage

需求背景今天运营给了一个需求,要做个引导页,也就是全屏滚动。考虑到只有3张图,就自己码个吧!说干就干。思路设置一个外层container, 用户的可见区域,也就是全屏container内有3个层次,每个层次大小都跟container一样大小每次滚动时候通过css的transform属性进行偏移,并结合transition过渡一下效果*{margin: 0;padding:

怎么写好组件

我们为什么要写组件呢?这里不细分组件、插件、控件,追究其原因无非让代码,能够复用,追求更快的开发效率。其实还有个重要的原因,项目大了之后,难以维护。这个时候就会把项目中重复的部分抽取出来,形成一个组件。但是组件也会有些'缺点',这个最后讲。组件需求要实现如图的一个条件选择器','全选','','','','全不选',''].join('');},getChoseItem:

js利用clipboardData在网页中实现截屏粘贴的功能

最近在做一个将屏幕截图直接粘贴发送的功能,于是对此做了一些研究,下面是具体的实现代码:html代码如下,在这里只是简单的做了一个textare框用作演示 截屏粘贴具体实现在JavaScript中:function paste(event){ var clipboardData = event.clipboardData; console.log(clipboardDa