javaScript

JQuery那点事 -- Callback

Callback(事件队列) 所谓的事件队列就是一个函数的集合对象,这个对象下有添加、删除、执行函数等等各种操作集合中函数的方法。 顺便说一下 在 JQuery 中 Promise 的实现也与事件队列密不可分,那么接下来从 jQuery 源码来看 Callback 是如何实现、应该如何去使用。 JQuery 中 Callback 的简单实现 以下代码为 jQuery 3.1.0 中,关于 Callbacks 源码中的一部分。经过我的一些修改,仅仅实现了主要的逻辑。

  • aco
    aco
3 min read
javaScript

@ 功能 JS 实现分析及其原理

最近为实现一个新功能弄的焦头烂额 @xxx 的实现,在实现后写下些心得,供以后会跳入这坑的同志们参考。 首先,当让是考虑使用范围,由于项目仅仅需要考虑在 WEBKIT 环境下使用,所以可以不用考虑 IE 这也使得代码少了很多的 if(){}else{} 判断。在Mozilla 开发者网络上发现 selection 和 range 这两个关于选区对象和光标对象,结合 Caret(一个用于判断当前光标位置的JS插件)后,一个大致的雏形就浮现出来。 大概就长这样: 先整理思路,捋一捋实现步骤。 大致思路如下: 键入 @ 后将选择框显示出来

  • aco
    aco
8 min read
杂记

雨 & 情

雨 下着 慢慢的 越下越大 淋湿了路人 渐渐地渐渐地 路上开满了伞花 下面藏着的是 一对对路人 手牵着手 慢慢的 走着 眼 看着 对方的 脸颊和手 温温的感觉 在身上流动着 手与手紧紧握住 一种种欣喜的感觉 在各自心中涌动 走雨中的感觉 是这样欣喜 这样温暖 感受着 各自 身上 的温度 相互依偎 相互温暖着 彼此欣喜的心 伞下的一方天空 是温暖彼此的天地

  • aco
    aco
1 min read
杂记

我想,不一定要这样活下去

看了一篇文章,说是一名大学生,迫于生活,不得不去干一份辛苦的兼职,一干干到12点是常事,然后在工资低、压力的情况下感慨:生活无奈,巴拉巴拉。 看标题就能想象的出,作者打过工、兼过职,用自己是精力体力去提高自己的生活,打着兼职的名义诉说着生活的不易。细思极恐,就想写点什么。 直接进入我脑海的一句话是:不一定要这样活下去吧。 兼职,之所以被称作兼职,就不能把它当作一份正当的工作,利用的是自己闲暇的时间去获取一定的利益,而不是去为了票子去压榨自己的时间。 所以,如果兼职影响到了正常的生活,那么大可不必为了那么一点的利益,而弄的自己身心具疲。因此,在一定的情况下放弃是最好的选择。 学生,并不仅仅在大学,我们一生都在扮演这个角色。可能现在应试教育下的课堂让我们难以接受,

  • aco
    aco
4 min read
杂记

高中 高中

高中我们就像是一群受初中老师 初中作业摆布的羊羔 为了自由疯狂的冲出初中的羊圈却只跑到了一个比初中稍微大那么点的高级羊圈里 结果疯狂的高中生活开始。。。。。。。。。 记得那时的诸葛是双下巴 那时的小锦被我们气的大哭 记得被帅波大喊极度猥琐的严越志 那时呆呆的地理老师刘俊 记得我有一个亲戚的郑金妹 记得鸡总半夜三更的电话 总是困扰着我和波神 记得午休的大富翁 受害的却是我 记得sb的游戏王 也不知道是哪个二货 把一堆牌放我床头 害的我可能至今都有一张照片落在小锦手里 记得宝康还在热恋 听说还是申晓庆搭的线 嫖哥那么腼腆 记得那次的深夜一点 记得那时的纠结 还害得陈坚苦逼的被我们吵着 记得那时的懵懂 对于爱情的不理解 记得那时班里美女挺多的 王婧竟然是班长 于雅璐一直是副班的关注对象 吴晗下手依然很重 申晓庆和刘扬比的永远是谁的数学及格 黄丹雯吸引着不少人的目光 。。。。。 记得那时 花了一个星期的地理历史课把挪威的森林看完

  • aco
    aco
3 min read
杂记

所有孩子的理想国度

充满着回味去看了看最近新上映的电影:《哆啦 a 梦:新·大雄的日本诞生》,总感觉有种感觉在心头,我想我是在回味我那已经回不去的童年吧。 开场前。小孩的笑着、打闹声充斥着周围,但是却一点也没觉得烦心。 电影里,大雄带着他的小伙伴们,乘着混搭的‘神兽’,顶着竹蜻蜓,开始他们的梦幻之路。 看完后,内心有着些许的悸动,因为我曾是一个想过冒险或是逃离的孩子?还是每个孩子心中都曾想过冒险和逃离? 好奇,冒险,变强,这些都是童年时代,每个小孩心中的愿望,独立的生活也是每个要强的孩子心中的最想过的吧。可以说离家出走冒险是每个孩子心中一场伟大而又神秘内心戏,面对着影院内的大屏幕,我想孩子们是兴奋的是渴望的。不得不说这部动漫所带来的那种感觉,这种感觉很难用语言表述,

  • aco
    aco
3 min read
ECMAScript6

ECMAScript 6之解构变量

标签: ECMAScript 6 javaScript 上一节讲到 ES6 中新增加的块级作用域,解决了一些不必要的闭包,让 js 代码的编写能更加的保险与便利,这里我不是很想说更加的安全,因为代码是人写的,好坏与否、安全与否都不是代码的问题,当然闭包在 js 中的应用不仅仅是使用在锁住块级作用域。块级作用域的出现也不能取代所有的闭包。 这一节来聊聊 ES6 中对于赋值的新玩法。 简单说说 有这样一个场景:你向你的服务器提交了一次请求,获取一些基本的参数来初始化页面。假设 config 就为后端传送回来的数据,而你需要去获取其中的配置项。当然先写正常的(因为 ES6

  • aco
    aco
12 min read
javaScript

ECMAScript 6起步

标签: ECMAScript 6 javaScript ECMAScript 6已经开始逐渐代替ECMAScript 5了,满载着好奇去看了看,毕竟要跟上时代潮流嘛。本以为以自己目前的javascript功底,还是可以驾驭,但是刚看了两章就不得不写点东西来加深记忆了和理解文章内容了。http://es6.ruanyifeng.com/ 由于ECMAScript 6有很多内容的更新,所以这一系列会持续很久,同时对这一系列做下说明:主要是对该教程所说内容的摘记同时加上一些自己的理解。ECMAScript 6的出现,并不是说完全取代了ECMAScript 5的内容,所以这个系列需要有良好的ECMAScript 5的基础,并且我也是一边看教程一边做的摘记,所以我更倾向与去记ECMAScript 6中一些有趣好玩的新特性,而不是对ECMAScript基础的巩固。 这个教学文档的作者是大触阮一峰,引用一下教程前言上的一句话:

  • aco
    aco
1 min read
node

Node.js中的HTTP服务

标签: node javaScript Node.js最重要的功能之一就是实现HTTP和HTTPS服务器的能力,对应到Node.js的具体模块为http和https模块,但是这俩个模块实现的功能是非常的底层的,只有一些基本的处理请求或是响应的功能,而像路由、cookie、缓存等却并没有直接的方法供开发者调用。当然使用一些模块如express就能实现完整的Web服务。express这里不做过多的讨论,有兴趣的可以去官网看看介绍。express官网 URL URL(统一资源定位符)是HTTP服务器用来处理客户端请求的一个标签,一个URL可以分为几个不同的组成部分,每一部分都为Web服务器提供了不同的信息。 一个基本的URL格式为: protocol :// hostname[:port] / path / [?query]#fragment 从左到右依次为:协议、主机名、端口、

  • aco
    aco
10 min read
node

Node.js中的文件系统-fs模块

标签:node javaScript 在任何的系统中,与文件的交互都是非常重要的,特别是当配置参数写在一个文件中时,对文件系统的操作是必不可少的。在Node.js中同样也有专用的模块fs来处理与文件系统的交互。fs模块中,提供了与文件系统进行交互的良好的接口。就可以方便的对文件进行打开、读取、写人等操作。 同步与异步使用文件系统的差异 Node.js中的fs模块几乎所有的功能都会有两种形式可供选择:异步和同步。如读取文件的同步形式为readFileSync(path,[option],callback)和异步模式readFile(path,[option])。所以在编写代码时,理解这两种形式的不同是非常重要的。 同步方式的文件系统调用会导致阻塞,由于Node.js是单线程的,直到文件调用完成后,控制权才会被放回主线程,这也就导致了后台其他线程池中的很多线程不能够执行,

  • aco
    aco
11 min read
node

Node.js中的数据处理IO-Stream-2

标签:node javaScript 上次说了在Node中两个基本的流:Readable和Writable流,接下来说说在Node.js中更高级的流。 Duplex 流 Duplex流(双向数据流)结合了可读流和可写的特性,使得Duplex流可以进行读取和写入操作。 当然,Duplex流也可以自定义实现,实现方式和可读流(可写流)的方式差不多,使用util模块提供的inherits()方法: var util = require('util'); util.inherits(MyDuplexStream,stream.Duplex); 然后创建对象时调用 stream.Duplex.call(

  • aco
    aco
6 min read
node

Node.js中的数据处理IO-Stream-1

标签:node javaScript Buffer作为Node.js中数据在内存中具体表现形式。而在现实中数据基本上都不是事由程序员手动输入内存中,而是存储在外部的硬盘或是由HTTP响应回来的数据流。面对这些流式数据,在Node.js就需要Stream模块来处理,并把这些数据写入内存中去。 数据流通常可分为:可读、可写、或即可读有可写的内存结构,而流的目的通常不仅仅是将数据读到内存中而是提供一种从一个地方传送数据到另一个地方的通用机制。 我们可以这样来理解Stream:数据从一个地方到另一个地方的过程,可写流就是 就是向你写的程序来的数据流,因为你需要去读它;可写流则恰好相反,你发出的需要的别的地方去的流为可写流,因为数据要到别的地方使用(存储或是用于别的进程);双工流就是可写流和可读流的合并,用于双向传输数据;转换流是双工流的升级版,进行了一定的封装,用于处理一个系统到另一个系统的数据(你都不属于这两个系统)。 下面为创建和使用Readable(可读)

  • aco
    aco
5 min read