var

koa 微信开发 (1) -- 接入指南

申请公众号在 mp.weixin.qq.com 上根据步骤申请一个账号进入公众号选择开发--基本配置,进行修改配置服务器编写根据文档,我们需要做的是接入微信公众平台开发,开发者需要按照如下步骤完成:1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑当你在配置中写完配置,要提交的时候,微信会对你填写的url发送一个get请求, 包括:参数

Javascript重温OOP之JS的解析与执行过程

了解js面向对象编程之前,首先要了解js的执行顺序。js的解析过程分为两个阶段:预处理阶段与执行期。预处理阶段在预处理阶段,js会首先创建一个执行上下文对象(Execute Context,然后扫描声明式函数和用var定义的变量,将其加入执行上下文环境中,看下面栗子:var a = 5;b = 1;function f(){}var g = function(){}//执行

JavaScript设计模式学习—单例模式

什么是单例模式简单点来说,单例模式就是确保某个类只有一个实例,并且最好只被创建过一次。对计算机来说,像打印机,线程池都是经典的单例模式。对于JavaScript所处的前端环境来说,像登录悬浮框,在整个页面中只会有一个,无论用户点击多少次,只会被创建一次。单例模式实现实例—登录框单例模式非常好理解,无非是办公室有个打印机,大家一起公用,没必要再每个人单独买一个了。所以按照这样

代码片段:AES 加解密代码

function encrypt (plaintext) { var algorithm = 'aes-256-cbc' var key = 'I am a happy key.' var sha256sum = crypto.createHash('sha256') var _key = sha256sum.update(key).digest() var _iv = '

GoJS 绘图 (十) :链接(完结)

非定向链接最简单的链接没有箭头指示方向。该模板只包含一个形状为主要元素,因为这是在节点之间绘制的线条。链接的路线被计算后将得到一个路径的点。diagram.nodeTemplate = g(go.Node,'Auto',new go.Binding('location', 'loc', go.Point.Parse),g(go.Shape,'RoundedRectangle

【译】JavaScript 中的命名空间

原文链接: Namespacing in JavaScript译文原链: 【译】JavaScript 中的命名空间全局变量应该由有系统范围相关性的对象们保留,并且它们的命名应该避免含糊并尽量减少命名冲突的风险。在实践中,这意味着你应该避免创建全局对象,除非它们是绝对必须的。不过,恩,这些你早都知道了……所以你对此是怎么做的?传统方法告诉我们,最好的消除全局策略是创建少数作为

算法笔记(JavaScript版)——排序

算法笔记(JavaScript版)——排序本文内容根据Rebert Sedgewick和Kevin Wayne的《算法(第四版)》整理,原代码为java语言,自己修改为JavaScript版本,仅供参考。排序算法模版function sort(arr){//此处添加不同的排序算法实现}//比较两个数的大小function less(a, b){return a​选择排序对于

Form表单和Iframe实现文件上传,页面不跳转

文件上传在不借助第三方的插件的情况下进行文件上传可利用:Form表单FormData对象Form表单是不存在浏览器的兼容性的,同时在js被禁用的情况下也能进行文件的传输,因此可以大胆使用。Form表单提交不同于Ajax,Ajax提交数据还需要利用脚本进行数据的处理,而Form是不需要进行任何数据处理的。使用Form表单提交文件一个非常典型的应用场景就是上传图片,但是页面不刷

再见,重复的你(数组去重)

前言昨天跟在前端好友聊天时,她提到了一个问题:“数组去重你会怎么写?”。想了想,其实有好几种方法,决定在这篇笔记中做一些记录。思路一:双层循环,外层循环元素,内层循环时比较值如果有相同的值则跳过,不相同则push进数组Array.prototype.distinct = function(){var arr = this,result = [],i,j,len = arr.