- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 移动端开发-viewport实现响应式设计
1. 不使用viewport出现的问题提到响应式设计,大家首先想到的可能是 Bootstrap , @media 。前者是一个响应式UI库,风格比较扁平化,类似的还有雅虎的Pure。@media是CSS3的属性,利用它可以在不依赖其他库的情况下实现响应式设计。如果你使用过媒体查询,应该熟悉下面的代码: 可查看github下载实例代码 @media screen and (min-
2016-05-30 17:22:50 2340
原创 JavaScript-可维护代码编写,函数式编程与纯函数
JavaScript-可维护代码编写,函数式编程与纯函数JavaScript是函数式编程与面向对象编程的混合编程语言,加上本身一些可扩展性(比如:函数参数个数及类型的不确定),使得JavaScript非常灵活,当然也可以说非常不可控。正是这个特点,使得一个团队维护一个共同的前端项目时,JavaScript代码可能非常难以读懂。试想,你新加入一个团队,让你去读别人的代码本身就不太容易,如果团队的注释习
2016-05-26 21:02:59 2461
原创 JavaScript-父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序
JavaScript-在父元素与子元素都绑定多个事件时执行顺序事件的执行顺序绝对是让人头疼的问题。当父元素与子元素都绑定了多个事件,且有的绑定在冒泡阶段、有的绑定在捕获阶段时,事件的触发顺序如何?如果你只关心这个问题,请直接下滑到3. 绑定多个事件,且由用户行为触发。如果你想细致了解JavaScript中的事件发生,请慢慢阅读。1. 原生事件的发生顺序一般来讲,当为一个a标签添加click事件以后,
2016-05-12 20:18:49 18756 3
原创 HTTP-URL编码函数
HTTP-URL编码函数一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “h ttp://www.haorooms.com”, 但是没有希腊字母的网址“h ttp://www.aβγ.com” (读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定: Only alphanumerics [0-9a-zA
2016-05-10 21:53:58 1695
原创 HTTP-URL中查询字符串格式化
HTTP-URL中查询字符串格式化GET请求是最常见的请求类型,常用语向服务器查询某些信息。必要时,需要将查询字符串追加到URL末尾。有的时候为了根据URL中查询字符串的不同渲染不同的页面也需要读取URL中的查询字符串。如何避免在URL写入查询字符串时报出格式错误 及 如何更快捷读出URL中查询字符串就是这篇博客要解决的问题。 https://www.baidu.com/baidu?wd=%C6
2016-05-10 21:15:38 6767
原创 JavaScript-观察者模式(publish/subscribe)
JavaScript-观察者模式(publish/subscribe)观察者模式又叫做发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象。它是由两类对象组成,主题和观察者,主题负责发布事件,同时观察者通过订阅这些事件来观察该主体,发布者和订阅者是完全解耦的,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。 在N
2016-05-08 14:27:38 18712 1
原创 JavaScript-装饰器函数(Decorator)
JavaScript-装饰器函数(Decorator)用于给对象在运行期间动态的增加某个功能,职责等。相较通过继承的方式来扩充对象的功能,装饰器显得更加灵活,首先,我们可以动态给对象选定某个装饰器,而不用hardcore继承对象来实现某个功能点。其次:继承的方式可能会导致子类繁多,仅仅为了增加某一个单一的功能点,显得有些多余了。 下面给出几个常用的装饰器函数示例,相关代码请查看github1
2016-05-08 11:07:57 14522
转载 Nodejs-Express, Koa, Hapi三个框架应如何选择
Nodejs-框架比较: Express vs. Koa vs. Hapi1 介绍Express.js无疑是当前Node.js中最流行的Web应用程序框架。它几乎成为了大多数Node.js web应用程序的基本的依赖,甚至一些例如Sails.js这样的流行的框架也是基于Express.js。然而你还有一些其他框架的选择,可以给你带来“sinatra”一样的感觉(译注:sinatra是一个简单的Rub
2016-05-07 21:40:43 16577 3
原创 JavaScript-函数柯里化
JavaScript-函数柯里化 柯里化是这样的一个转换过程,把接受多个参数的函数变换成接受一个单一参数(译注:最初函数的第一个参数)的函数,如果其他的参数是必要的,返回接受余下的参数且返回结果的新函数。也就是说是固定部分参数,返回一个接受剩余参数的函数,也称为部分计算函数,目的是为了缩小适用范围,创建一个针对性更强的函数。 例如,我想创建一个做自我介绍的函数,每个人只要输入自己姓名、性别、
2016-05-07 21:26:49 2429
原创 HTML5-Web Workers实现多线程
HTML5-Web Workers实现多线程当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。虽然在JavaScript中有setInterval和setTimeout函数使javaScript看起来好像使多线程执行,单实际上JavaScript使单线程的,一次只能做一件事情。 可以运行以下示例,检验js的单线程特性。 相关代码请到github查看。 <div
2016-05-06 13:23:17 4417
原创 HTML5-postMessage实现跨域
HTML5-postMessage实现跨域对于使用H5实现跨域,很多人都一直处于半懂状态。知道使用postMessage发送消息,使用onMessage接受消息,但是到底哪个方法应该用window调用哪个应该用iframe的contentWindow调用不是很清楚。下面是我做的一个本地实现跨域的小demo,可以在github下载这个示例。为了执行它,首先,你需要找到你电脑的hosts文件,在127.
2016-05-05 20:35:16 6641
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人