几种排序算法的javascript实现

排序算法

之前有用php总结过几个排序算法,也用js实现过,但是demo早就消失不见,刚好有题目是用js写一种排序算法,我就吧几种算法总结下。

冒泡排序

冒泡排序简单来说就是把最大的冒泡出来,时间复杂度 O(n^2),最简单是 O(n)

阅读更多

CSS中百分比基准

width

相对于父元素的宽度,注意这里以及以下父元素是指css中其父元素。而不是一般的DOM结构中父元素。

height

一般是相对于父元素的高度,但是当父元素高度没有指定时候其值会变成 auto。

阅读更多

nodejs的EventEmitter

EventEmitter

这里我观看了 @Richard Gong 的node.js高级编程03:events对象以及查阅书籍做出的简单模仿(ES6写法)。

构造

首先新建个名字为 EventEmitter 的 class 。
之后给其添加属性以及原型方法。

阅读更多

ES6-calss 以及理解原型链

Class

在ES6中,引入了Class,可以很方便的来定义类。例如

1
2
3
4
5
6
7
8
9
class A {
constructor(x,y){
this.x=x;
this.y=y;
}
toString(){
return this.x+this.y;
}
}

事实上ES6的class只是一个语法糖。上述代码等同于:

1
2
3
4
5
6
7
function AA(x,y){
this.x=x;
this.y=y;
}
AA.prototype.toString=function(){
return this.x+this.y;
}

所以 在实例化后

阅读更多

在koa1.0中使用mongoose的Promise

在mongoose使用Promise

mongoose的Promise使用起来还是很方便的只要在查询语句后面根成exec()方法即可。

例如

1
db.User.findOne({}).exec()

这时候返回的即是一个Promise对象。

在koa中使用Promise

只需在promise前面加上 yield 即可获取promise reslove时候的结果,如果需要捕获promise reject结果需要把整个语句放入try-catch

例如

阅读更多

node.js 操作 mongodb 以及 mongoose 使用

node.js 操作 mongodb

首先引入 mongodb,然后打开数据库xxx,之后进入mycoll 集合。

阅读更多

generator-promise

generator 函数和 promise 对象的结合使用

当使用generator函数进行“流程管理”或使用koajs时候,往往需要使用异步操作。

阅读更多

angularjs 全局非阻塞消息通知

目的

因为我的一个angularjs fruit-angular 项目要用的关系,而我又不想用bootstrap或者什么消息通知库之类,所以自己写了个。

预览

阅读更多

重制果儿岛商城By AngularJS

前言

本项目全部采用果儿岛提供的api,其中省略了支付宝付款这个功能,即不能替代原本官方商城进行商品支付。
使用了angular1.5.8 使用bower管理依赖。采用 rem 实现自适应。以及css media query控制实现响应式布局。部分页面使用flex布局。

源码

github

Demo

http://fruit.garychang.cn

新窗口打开

使用

1
2
3
4
5
6
git clone
bower install
npm install

阅读更多

2016年阿里秋季校招前端题

吐槽

首先这个博文不是内容不是全部的前端题目,而只是我考的其中一道题,每个人的题目也不一样,写这个文章是自我安慰下昨天答错的题,尽管也没什么用了。

阅读更多