2016-10-12 曹强
高阶函数是至少满足下列条件之一的函数 * 函数可以作为参数被传递 * 函数可以作为返回值输出 (js这么好的语言中的函数当然满足 ^^)_ 函数作为参数传递 把函数当作参数传递,可以抽离出一部分容易变化的业务逻辑,把这部分业务逻辑放在函数中,可以分离业务代码中变与不变的部分。 回调函数,ajax异步,callback var getUserInfo() = function(userId, callback) { $.ajax('http://xxx.com/getUserInfo?' + userId, function(data) { if (typeof(callback === ' 继续阅读 »
2015-01-27 derekchan
使用ajax跨域請求時,在chrome、firefox等兼容性較好的瀏覽器中,可以看到返回結果、 但在IE中,ajax會自動跳到error方法中,打開f12調試,返回錯誤為(No Transport),苦惱了我很久 [][1] 继续阅读 »
2016-10-12 曹强
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在JavaScript开发中,我们一般用事件模型来替代传统的发布—订阅模式。 发布—订阅模式可以广泛应用于异步编程中,这是一种替代传递回调函数的方案。比如,我们可以订阅ajax 请求的error、succ 等事件。 或者如果想在动画的每一帧完成之后做一些事情,那我们可以订阅一个事件,然后在动画的每一帧完成之后发布这个事件。在异步编程中使用发布—订阅模式,我们就无需过多关注对象在异步运行期间的内部状态,而只需要订阅感兴趣的事件发生点。 发布—订阅模式可以取代对象之间硬编码的通知机制,一个对象不用再显式地调用 继续阅读 »
2016-10-12 曹强
单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。在JavaScript中,需要用到类的场景并不太多,单一职责原则(SRP)更多的是被运用在对象或者方法级别上。 总之,SRP原则体现为:一个对象(方法)只做一件事情。 例如: 代理模式 迭代器模式 单例模式 装饰者模式 但是,并不是所有的职责都应该一一分离的,一方面如果随着需求的变化,有两个职责是同时变化的,那就不必分离他们。比如在ajax请求的时候,创建xhr对象和发送xhr请求几乎总是在一起的,那么创建xhr对象的职责和发送xhr对象的职责就没有必要分开。 另一方面,职责的变化轴线仅当它们确定会发生变化时才有意义,即使两个职责已经被耦合在一起但他们 继续阅读 »
2016-10-12 曹强
一些重构的建议: 提炼函数 * 避免出现超大函数 * 独立出来的函数有助于代码复用 * 独立出来的函数更容易被覆写 * 独立出来的函数如果拥有一个良好的命名, * 它本身就起到了注释的作用。 比如在一个负责取得用户信息的函数里面,我们还需要打印跟用户信息有关的log,那么打印log的语句就可以被封装在一个独立的函数里: var getUserInfo = function() { ajax('http://xxx.com/userInfo', function(data) { console.log('userId: ' + data.userId); console.log('u 继续阅读 »
2014-11-22 Golmic
学习了pjax技术,并尝试自己写了一款wordpress主题作为实践。 more pjax是什么 pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。 pushState是一个可以操作history的api,该api的介绍和使用请见这里: http://www.welefen.com/use-ajax-and-pushstate.html pjax项目 pjax的github项目 welefen的pjax 相对于前者,后者支持了缓存和本地存储,下次访问的时候直接读取本地数据,无需在次访问。 并且展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。 pj 继续阅读 »
2018-10-28 biezhi
相信很多人都听说过 ajax 这个词,那你听过还有 pjax 吗?使用这个技术可以让我们的站点访问速度看起来飞快,我的博客也在使用,下面我将给你介绍它是什么?如何实现的、以及如何在你的站点里使用。 more 什么是 pjax? 继续阅读 »
2015-04-22 浩阳
content {:toc} 百度前端学院的第二次任务笔记,JavaScript 基础。主要有JavaScript的定义,数据类型,对象,数组,字符串,正则表达式,DOM,事件,BOM,Ajax 等知识。 任务 掌握JavaScript基础知识,能够使用JavaScript编写一些复杂度不大的交互功能。 继续阅读 »
2015-11-18 白若水
最近一直和某系统打交道,其中前端数据的处理,大多是 ajax 加 javascript 模板实现。这种方式于绑定数据给予了极大的灵活性。 曾经 曾经在前端页面处理 javascript 的数据绑定直接拼字符串,是这样实现的: 继续阅读 »
2014-04-22 W.Y.
此类文章在社区中一抓一大把,但为什么还要来翻译这篇文章呢?最主要的原因是本章的配图太好了,一看就懂,扯远了。。 原文:Improve cross-domain communication with client-side solutions 介绍 越来越多的网站需要相互协作。例如,一个在线房屋租赁网站需要谷歌地图的支持,以显示某个出租屋的位置。为了满足这种需求,出现了各种各样的聚合应用(mashup)。聚合应用是一种将来自不同供应商的数据或组件整合在一起,使其更有价值或更加可定制化的 Web 应用。聚合应用或协作能力,被认为是 Web 2.0 的一个重要组成部分 但是,要将异步 AJAX 和聚合应用结合在一起并不是那么容易, 继续阅读 »