- 博客(34)
- 收藏
- 关注
原创 第四章 栈
1. 栈的实现function Stack() { this.dataStore = []; // 保存元素 this.pop = pop; this.push = push; this.pee
2017-06-18 19:00:53
1151
原创 第三章 列表
列表的抽象数据类型定义 属性/方法 描述 listSize(属性) 列表的元素个数 pos(属性 列表的当前位置 length(属性) 返回列表中元素的个数 clear(方法) 清空列表中的所有元素 toString(方法) 返回列表的字符串形式 getElement(方法) 返回当前位置的元素 insert(方法) front(方法)
2017-06-18 15:49:01
871
3
原创 JavaScript 遍历DOM树
1. 前序遍历function preOrder(node){ if(node){ arr.push(node); preOrder(node.firstElementChild); preOrder(node.lastElementChild); }}2. 中序遍历function inOrder(node){ if(nod
2017-04-25 15:44:48
1761
原创 javascript实现常见的算法
1. 快速排序// 快排function quickSort(arr) { if (arr.length < 2) { return arr; } var pivIndex = Math.floor(arr.length/2); var piv = arr.splice(pivIndex, 1)[0]; var left = [], righ
2017-04-24 16:04:05
514
原创 nodejs使用redis作为缓存介质,封装缓存类
之前在node下使用redis作为缓存介质,对redis进行了一层封装First: 安装npm包 redisconst redis = require('redis');Second: 进行封装// cache.jsconst redis = require('redis');const config = require('config');const logger = require('wi
2017-02-17 13:33:56
4066
原创 对前端js代码添加测试:Error: jQuery requires a window with a document
在对前端的js代码添加测试的时候,因为项目需要,首先把amd格式的代码改成了cmd。但是在引用index.js 进行测试的时候,一直报 Error: jQuery requires a window with a document 错误。查阅发现,较新版本的jquery里没有jsdom,所以在node中调用jquery的时候,会报 Error: jQuery requires a window wi
2016-11-30 18:31:02
1962
原创 istanbul 忽略多个文件
这是在自己写测试的时候遇到的问题,因为有些不必要的文件,在计算覆盖率时候会被计算到。以下是自己查到的一些如何忽略整个文件的方法。1. 忽略单个文件在文件首行加入 /* istanbul ignore next */,这样就可以忽略整个文件。2. 忽略多个文件如果想要忽略多个文件的时候,我们可以在每个文件前都加上 `/* istanbul ignore next */`, 但这非常麻烦,也不方便修改
2016-10-19 10:30:36
4806
原创 require.js 主要用法
1. 诞生实现 js 文件的异步加载,避免网页失去响应管理 js 文件间的依赖关系,便于代码的编写及维护2. 加载require.js<script src="js/require.js" defer async="true" ></script>* 注: async设置为true,来异步加载requirejs,避免阻塞。ie不是被async,所以还要加上defer。*3. 基本APIr
2016-10-07 22:58:32
1874
原创 nodejs 写脚本进行数据刷新的时候,批量处理的数据量过大出现内存溢出
很简单~使用async——异步流程控制库就可以解决。async.forEachLimit();当集合中元素很多,不能一次全部并行操作,又不想一个一个按顺序来,可以使用forEachLimit函数。它可以设定一批处理几个,每一批内并行执行,批与批之间顺序执行。async.forEachLimit(eles, 5000, (list, cb) => { // do something;});
2016-09-19 15:14:58
2866
原创 Javascript高级程序设计读书笔记——继承
javascript 继承的几种方式。1. 原型链继承 2. 借用构造函数(伪造对象或经典继承) 3. 组合继承 4. 原型式继承 5. 寄生式继承 6. 寄生组合式继承
2016-08-27 00:03:17
731
原创 javascript高级程序设计读书笔记———创建对象
2. 创建对象的几种方式2.1 工厂模式function createPeople(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ console.log(this.name);
2016-08-24 23:56:43
573
原创 通过UEditor多图上传到七牛云出现图片不全,或上传失败bug
在node-ueditor进行拓展,通过多图上传直接将图片保存到七牛云。在保存的时候通过busboy包进行文件流保存 bug: 发现多张图片上传时候,部分图片出现上传失败,或显示出得图片只有一半的情况。仔细查看代码后,觉得应该是busboy进行文件保存的时候,还没有保存完毕,就进行了七牛上传。 bugFix: busboy.on('file', function(fieldname, file
2016-08-23 22:43:57
2735
原创 对restful 理解
1. 什么是restful REST——Representational State Transfer,表现层状态转移。 如果一个架构符合rest原则,就称它为restful架构。 理解restful架构,首先要理解restresources 表现层指的其实就是“资源”(resources)的表现层representationstate transfer
2016-08-17 16:38:07
586
原创 javascript高级程序设计读书笔记——事件总结
第13章 事件1.1 事件冒泡 事件开始的时候从最具体的元素接收,然后逐级向上传播到较为不具体的节点。1.2 事件捕获 事件捕获与冒泡相反,首先由不具体的节点接收,最后是最具体的节点接收事件。 注意: ie的事件流是事件冒泡。由于老版本的浏览器不支持事件捕获,因此更加建议使用事件冒泡,有特殊需要的时候在使用事件捕获。1.3 DOM事件流 D
2016-08-16 00:34:01
1930
翻译 Simple server side cache for Express with Node.js——Express 实现简单的服务器端缓存【翻译】
原文地址在这里: http://goenning.net/2016/02/10/simple-server-side-cache-for-expressjs/第一次翻译,不是很好,但大概意思应该还可以。有错误,请多多指正。 express是我目前为止见过扩展性最好的web框架。它的中间件结构使它可以轻松地以标准化方式添加额外的功能。 本次主题,我们将会讨论一个很小很简单,但功能非常强
2016-08-15 01:10:37
3627
原创 javascript高级程序设计读书笔记--DOM总结
1. node类型 nodeType———-常用noode类型——Node.ELEMENT_NODE(1) 元素节点Node.ATTRIBUTE_NODE(2) 属性节点Node.TEXT_NODE(3) 文本节点 确定节点类型if(somenode.nodeType == Node.ELEMENT_NODE){ // 在ie下无效 console.log("this
2016-08-13 16:08:50
556
原创 javascript高级程序设计读书笔记--BOM
对BOM进行一下总结1. location 对象location既是window也是document的属性,所以二者在使用的时候引用的是同一个location对象location参数解析: location.href: 返回完整的urllocation.host: 返回主机名和端口号。 eg: www.baidu.com:80location.hostname
2016-08-13 12:50:22
521
原创 页面偶尔出现查询/页面刷新错误,ejs出现类型报错/方法报错
在做项目的时候碰到一个坑。在此记录下来。 nodejs项目,使用的是LRU-cache 。前端使用的是ejs模板引擎 在页面上点击按钮,进行查询的时候,刷新页面,显示查询结果(结果内含有一个日期数据)。但是发现有一定几率刷新成功,一定几率报错。错误信息为date不存在getFullYear()方法。觉得很奇怪,因为查看数据的明明是Date类型。后来干脆将 typeo
2016-08-12 18:50:23
2448
原创 七牛云存储 远程抓取图片保存到指定空间(nodejs版),以及自定义key
最近两天老师给布置了一个小任务。有一个页面用到了UEditor文本编辑器,用户经常会直接粘贴整篇文档到编辑区,包括很多图片。图片的来源都是粘贴来源的地址,这可能大大影响图片的加载效率,以及如果源地址删除该图片,文章也无法正常显示。我要做的就是从该文章中,提取所有的图片,保存到内部云存储。这样,每次显示文章,就能直接从自己的云存储加载图片。首先,我的大概思路是: 获取正片文章内容,正则匹配出所有
2016-08-01 14:55:21
4749
转载 Sequelize 和 MySQL 对照
如果你觉得Sequelize的文档有点多、杂,不方便看,可以看看这篇。在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Model)框架。毕竟直接操作SQL比较繁琐,通过ORM框架,我们可以使用面向对象的方式来操作表。NodeJS社区有很多的ORM框架,我比较喜欢Sequelize,它功能丰富,可以非常方便的进行连表查询
2016-07-26 18:00:06
5104
原创 前端开发实习日记 -2
这周开始在导师的带领下尝试些功能点。因为以前没有真切接触过nodejs开发,尽管看了一些教程,但水平远远不够。只是让我写一个小接口,也用了整整一天时间。但是主要是功能点虽然不麻烦,但是涉及到的插件及库都没有接触过,所以必须不断百度,理清代码。而且代码弄清楚之后,尽管知道实现功能的思路,但就是不知道该怎么下手。不过总算是挣扎着写出了代码。下面来总结一下自己的收获。一. Async:Asy
2016-07-26 14:28:14
23524
1
原创 写给自己的文章~前端开发实习总结
7.11号,我正式开始实习啦。实习第一天,配置环境整整一天,因为大家都忙,来的时候也没有带书什么的,我也就只能眼巴巴地瞅着电脑屏幕发呆。第二天,在导师的要求下,上午看了ejs模板引擎的使用,下午看git基本操作的文档。一天下来头晕眼花。到了4,5点的时候,和我一起工作的姐姐就来指导我开始干活了~因为是实习生,任务很简单,就是从后台给出的数据,按照数据格式,进行ejs模板页面的数据嵌套。同时
2016-07-23 09:34:35
24355
1
原创 javascript 以及 jquery DOM节点操作
DOM节点父节点: parentNode,子节点:childNodes首个子节点:firstChild末尾子节点:lastChild兄弟子节点:nextSlibling、previousSlibling原生Javascript:1. appendChild()。插入新的节点到节点列表末尾,返回的是新插入的节点。2. insertBefor
2016-06-02 19:43:01
1136
原创 JavaScript高级程序设计读书笔记——String总结
1. string类型的创建var str = new String(s);var str = "abcdefg";2. 判断是否为String类型 instanceOf 判断是否为String类型3. 字符串中字符的查找charAt(index) 返回
2016-05-05 23:39:36
492
原创 javascript高级程序设计读书笔记——Array总结
1. 数组的创建 var array = new Array(); var array = new Array(5);创建长度为5的数组。(但上限并非是5.如果元素个数超过5,数组长度也会改变) var array = new Array(1,2,3,4,5 ...); 创建元素为 1,2,3,...的数组
2016-05-05 21:06:14
609
转载 js中cookie的使用详细分析
cookie概述 在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟 全局变量的功能,但并不严谨。例如在导航框架页面内右击,单击快捷菜单中的【刷新】命令,则所有的JavaScript变量都会丢失。因此,要实现严格的 跨页面全局变量,这种方式是不行的, JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。c
2016-05-04 16:54:07
342
原创 html5 + jq 实现图片上传预览,兼容主流浏览器
图片上传预览 function preview(imgobj,previewImgId,previewDivId){ var accept = /^(.+)\.(jpg||jpeg||png||gif)$/g; var browserVersion = window
2016-04-22 00:00:29
5690
原创 原生 js 实现全屏滚动效果
原理: 1. 计算当前浏览器屏幕高度,每次翻页显示的内容高度即为屏幕高度 2. 对鼠标滚轮事件进行监听,注意滚轮事件的浏览器兼容问题。废话不多说,直接上代码html代码:
2016-04-16 20:28:02
9266
转载 有关css和js针对不同浏览器兼容的问题
首先谈一下浏览器,虽然现在ie依然是浏览器市场的老大,大约占有67%的份额,但是由于其各方面的欠缺,用户开始选择其他浏览器作为自己浏览网页的主要 工具,比如firefox、theworld、maxthon、chrome、opera等等,在用户使用比较多的浏览器中,分为2大派系 - ie内核和非ie内核,像theworld、maxthon、greenbrower等等都属于ie内核,而firefox、
2016-04-13 13:33:14
4900
原创 jquery实现图片轮播效果
html 部分 css部分#lunbo{width: 600px;height: 300px;margin: 0 auto;overflow: hidden;} #pics{width: 600px;height: 300px;cursor: pointer;position: relative;} ul li{width:
2016-03-26 23:12:37
1126
原创 原生javascript 简易实现放大镜效果
原理: 其实所谓的放大就是准备两张一样的图片,除大小不一样。鼠标移动到不同位置,将会显示大图片对应的图片内容。 放大镜效果 var filter = document.getElementById('filter'); var smallImg = document.getElemen
2016-03-16 20:09:07
674
原创 JavaScript高级程序设计读书笔记—— 基本数据类型
一、javaScript数据类型5种基本数据类型1. undefined2. null3. boolean4. number5. string以及一种复杂数据类型 objectundefined 类型只有一个值,即undefined;
2015-11-15 22:11:24
666
原创 css实现左右布局,左侧div固定不变,右侧div宽度自适应
1.如果不考虑浏览器的兼容问题的话,可以使用css3的新增属性 calc() ;calc是calculate的简写,汉语为计算的意思。.left{ width: 200px; float: left; height: 200px; background: pink;}.right{ float: left; width: calc(100% - 200px);
2015-11-15 20:12:18
14491
转载 背景图片如何自适应屏幕
自己比较头疼的问题,网上搜了好多资料,大概整理了一下1. 直接设置CSS样式达到目的 在以上代码中,background-size: cover;是对背景图进行等比例拉伸,仍然存在图片显示不完全的问题。 background-size: 100% 100%;是对背景图的宽拉伸至di
2015-10-12 23:59:57
58095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人