标签JavaScript下的文章

文蔺 发布于 2016-11-09

算法学习:冒泡排序

从基础入手。前面学习了插入排序和选择排序。接下来看冒泡排序。依然假设手上有 N 张扑克牌,记作 cards。第一步,先比较第 1 张与第 2 张,如果第 1 张比第 2 张大,则将两者调换位置;第二步,重复上面的方法,比较第 2 张、第 3 张;……第 (n - 1) 步,比较第 (n - 1) 张、第 n 张,若第 (n - 1) 张比第 n 张大,则将两者调换位置。仔细想下,发现没有?这样 (...

阅读全文 »

文蔺 发布于 2016-11-06

算法学习:选择排序

所谓“选择排序”,基本思路就是不断从数组中选择出最小的数。还是以扑克牌为例。假设有 N 张扑克牌,记扑克牌集合为 cards,则我们的基本操作如下:首先,从手中拿出左侧第 0 张牌 cardA;第二步,将 cardA 向右依次与剩下的 (N - 1) 张牌进行对比,找出最小的那张牌所在的位置 minIndex;第三步,对比完成后,若 minIndex 不等于 1,则说明 cardA 不是最小的,...

阅读全文 »

文蔺 发布于 2016-11-05

[译] HTML 表单验证

我是 HTML 表单验证(HTML form validation) 的超级粉丝,因为它取代了我使用了近 20 年的 JavaScript 代码。不幸的是,Safari 并不支持这个特性(谈到 Web 时,先别跟我提 Apple 和他们的优先级)。不过,我确实很喜欢这个主意,将问题交给 HTML 自己解决。实际上,最近有个网站展示了许多类似的例子:You Might Not Need JavaSc...

阅读全文 »

文蔺 发布于 2016-11-02

算法学习:插入排序

缘起最近打算好好学习算法。因为专业的原因,对计算机原理、数据结构与算法这些知识,一开始可以说是一窍不通的。最开始在项目中接触算法,完全基于项目需要。当时负责一个酒店项目,数据接入来自公共部分。项目详情页拿到的数据,包括当前酒店所有套餐,最多的可能有几十个。需求仅仅要求显示三条,而且结果是根据不同内容(如状态、网络、热水、空调等等)有优先级的。当时被这套逻辑闹得很揪心。后来想想,放手干吧,多做几次遍...

阅读全文 »

文蔺 发布于 2016-10-29

使用 jQuery.ajax 上传带文件的表单

今天帮人看代码的时候,遇到一点小问题。使用 jQuery 上传带文件的表单时,会有些问题。首先,因为使用的是 FormData,所以必须在传入 $.ajax 的参数中配置 processData: false。否则将会抛出 Illegal invocation 的异常,因为 jQuery 默认是会对传入的 data 字段的数据进行处理的。官方文档是这么解释的:其次,注意请求的 Content-Ty...

阅读全文 »

文蔺 发布于 2016-10-28

JavaScript Weekly 307 阅读笔记

js 编写简单的 compilerHow to Make a (Very) Simple Compiler with JS这个小小的 compiler 还挺简单,将简单的画图指令转换为 SVG 标记。文章作者写了一个 demo,用来演示转换的整个过程,感觉不错,建议看看。之前也有人讲过一些,比如 github 上的 the-super-tiny-compiler(有中文版),貌似还在 2016 年...

阅读全文 »

文蔺 发布于 2016-10-27

关于 setImmediate

W3C Draft文档地址题目叫 “Efficient Script Yielding”,一份 2011 年的 “Editor's Draft”,从题目就能看出用途。建议有时间读一遍,超级短。摘要就一句话:This specification defines an interface for web applications to flush the browser event queue...

阅读全文 »

文蔺 发布于 2016-10-26

关于前端常见算法面试题的一些思考

今天上班时间,读了 @JackPu 的新文章《前端面试中的常见的算法问题》。内容虽然看起挺基础,但可以有不少思考,同时也是一次挺好的复习。其中,有几个问题,想出了一些不同的解决办法,做了下笔记,并且进行了简单的性能测试。关于排序,这次没有深看。接下来有空时,再研究一番。判断回文(Palindromic Words)结果是,使用循环来判断,性能远高于数组方法。接下来,在其他一些例子中也能看到,借用数...

阅读全文 »

文蔺 发布于 2016-08-31

聊聊 JavaScript Date 对象

时间的发现日常生活中,各种形式的时间字符到处都是。时间观念的产生,时间单位、计时工具的发明,给人类带来的变化实在一言难尽。今天就来谈谈日期那些事儿。一起来看看 JavaScript 中的日期对象 Date。Date 对象和其他对象如 Math、RegExp 等一样,Date 对象是 JavaScript 语言中的内建(build-in)对象。在工作中,Date 对象有着许多重要的应用。创建一个 D...

阅读全文 »

文蔺 发布于 2016-08-27

[译] Fetch 请求的本地缓存

本文展示了如何使用实现 fetch 请求的本地缓存,遇到重复请求时,将会从 sessionStorage 中读取数据。这样做的好处是,无需为每个需要缓存的资源编写自定义代码。如果你想在 JavaScript 盛会中露露脸,秀秀如何玩转 Promise、最前沿的 API 和 localStorage,那就接着往下看吧。Fetch API此时此刻,你对 fetch 可能已经很熟悉了。它是浏览器提供的用...

阅读全文 »