js 深入原理讲解系列-currying function 能看懂这一题你就掌握了 js 科里函数的核心原理 不要专业的术语,说人话,讲明白! Q: 实现 sum 函数使得以下表达式的值正确 const log = console.log; const sum = ???; sum(1, 2, 3).sumOf(); //6 sum(2, 3)(2).sumOf(); //7 sum(1)(2)(3)(4).sumOf(); //10 sum(2)(4, 1)(2).sumOf(); //9 A…
js 深入原理讲解系列-Promise 能看懂这一题你就掌握了 js Promise 的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? const log = console.log; A: Promise 不可逆状态: pending => fullfilled, pending => rejected Promise.resolve() Promise.reject() executor 执行器 thenable 包含 then 的对象,…
js 深入原理讲解系列-事件循环 能看懂这一题你就掌握了 js 事件循环的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? console.log('Hello World!'); // async function async1() { console.log('async1 start');// await async2(); console.log('async1 end');// } async function async2() { c…
[RocketMQ原理解析][http://blog.csdn.net/quhongwei_zhanqiu/article/category/2548637] [消息的可靠性.顺序和重复][https://github.com/killme2008/metamorphosis/wiki/%E6%B6%88%E6%81%AF%E7%9A%84%E5%8F%AF%E9%9D%A0%E6%80%A7%E3%80%81%E9%A1%BA%E5%BA%8F%E5%92%8C%E9%87%8D%E5%A4%…
js currying function All In One js 实现 (5).add(3).minus(2) 功能 例: 5 + 3 - 2,结果为 6 https://stackoverflow.com/questions/36314/what-is-currying 1. normal function function add (a, b) { return a + b; } add(3, 4); // 7 2. currying function function add (a)…
前言 想开始编写Node.js代码,那么我们就必须先熟悉它的模块化规范CommonJS,本文将详细讲解CommonJS规范 本文代码 >>> github 地址 CommonJS Node 应用由模块组成,采用 CommonJS 模块规范. 每个文件就是一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. [特点] 所有代码都运行在模块作用域,不会污染全局作用域. 模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载…
HTML5裁剪图片并上传至服务器实现原理讲解   经常做项目需要本地上传图片裁剪并上传服务器,比如会议头像等功能,但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 5 步.步骤繁琐不说,当很多用户上传图片的时候也很影响服务器性能. 第一步:获取文件 HTML5 支持从 input[type=file] 元素中直接获取文件信息,也可以读取文件内容.我们用下面代码就可以实现: $('input[type=f…
本节将讲述Facade,Proxy.Mediator.Command的统一管家.自定义Facade必须继承Facade,在本示例中自定义Facade名称为ApplicationFacade,这个名称也是pureMVC组织建议的名称.先看代码: package com.superwulei { import com.superwulei.controller.StartupCommand; import org.puremvc.as3.patterns.facade.Facade; public …
本节将讲述pureMVC示例中的Controller层. Controller层有以下文件组成: AddUserCommand.as DeleteUserCommand.as ModelPrepCommand.as ViewPrepCommand.as StartupCommand.as AddUserCommand .顾名思义,它是添加用户命令.让我们首先看看代码. package com.superwulei.controller { import com.superwulei.model.…
本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件:Mediator. 可视控件 可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件组成.UserForm.mxml用于添加用户,UserList.mxml显示用户和删除已添加用户. [图1] [图2] 先看UserForm.mxml,既然要添加用户,就一定会要一个方法.你还记得么,在上一篇<pureMVC简单示例及其原理讲解——Model层 >中我们提到的UserProxy中有…