摘要:
大多数程序员的英语是软肋,包括我在内。自己也曾经试过多种方法来学习英语,但最后都是不了了之,现在回想起来,有几个原因: 1. 无针对性的学习,例如每日背十几个单词。 2. 不能反复复习,例如看美剧。 3. 太功利性,感觉见效不明显,就没坚持下来。 古语说:“锲而不舍,金石可镂”。想要持续的做一件事, 阅读全文
摘要:
最近在研读《正则指引》,再将正则相关知识点梳理一遍。 下图是JavaScript中的正则功能,说明一列可看到支持程度。 一、语法 1)量词 匹配优先量词(greedy quantifier),也称为贪婪量词,在拿不准是否要匹配的时候,优先尝试匹配,记下这个状态,以备将来返回(回溯)。 忽略优先量词( 阅读全文
摘要:
前面曾经写过一篇《H5图片裁剪升级版》,但里面需要借助第三方手势库,这次就不需要使用手势库,全部封装在代码中。 下图是裁剪的展示,下面就做了拖放和裁剪,没有做缩放,在插件中需要用到大量的计算。veImage的源码可以在此处浏览。 一、原理 1)拖动、缩放、裁剪都是借助Canvas实现的。Canvas 阅读全文
摘要:
这次先能够使用PC端的浏览器测试,首先需要下载官方的发布版本“WebPageTest 3.0”。 1. agent:浏览器代理软件 2. mobile:移动端参数相关代码 3. www:网站PHP代码 也可以参考官方的Private Instance配置,不过文档挂在google域名下,所以你懂得。 阅读全文
摘要:
在前一篇《配置》完成后,点击“START TEST”,就可以开始测试,测试需要一段时间。 有时候可能还要排队,如下图所示,测试完成后可查看到测试结果。 一、Summary 1)优化等级 优化等级分为A~F级别,评分项分别为: 阻塞时间(First Byte Time)、长连接已启动(Keep-ali 阅读全文
摘要:
网站性能优化工具大致分为两类:综合类和RUM类(实时监控用户类),WebPageTest属于综合类。 WebPageTest通过布置一些特定的场景进行测试,例如不同的网速、浏览器、位置等。 测试完成后,能获得优化等级、性能参数、请求瀑布图、网页幻灯片快照等,更多信息可以参考《WebPageTest快 阅读全文
摘要:
一、事件循环 JavaScript是单线程,同一个时间只能做一件事情,所以执行任务需要排队。如果前一个耗时很长,那么下一个只能等待。 1)两种任务 为了更好的处理任务,JavaScript语言的设计者将任务分为两种:同步任务(synchronous)与异步任务(asynchronous)。 同步任务 阅读全文
摘要:
一、排序 1)桶排序 准备大量的木桶,用木桶的标号(数组下标)作为数据,按照木桶标号的顺序进行排序。 2)选择排序 从“待排序部分”找到最小值(或最大值),让“待排序部分”的起始位置向后移动。 3)冒泡排序 比较相邻的两个数据,把这两个数据按照大小关系正确的交换排列。 4)插入排序 不断地把数据插入 阅读全文
摘要:
JavaScript中通常分为两种类型转换,“隐式强制类型转换”(implicit coercion)和“显式强制类型转换”(explicit coercion)。 下面所有代码的源码可以在此处查看。 一、强制转换为字符串(ToString) 1)ToString 基本类型值的字符串化规则为:nul 阅读全文
摘要:
一、值 1)数字 JavaScript只有一种数值类型:number(数字),包括“整数”和带小数的十进制数。 由于数字值可以使用Number对象进行封装,因此数字值可以调用Number.prototype中的方法。例如,tofixed(..)方法可指定小数部分的显示位数: 2)整数检测 3)nul 阅读全文