进击的前端

To Be A Better Developer!

ES5阻止修改对象的方法

阻止修改在js开发中,我们需要创建和维护很多的对象。在多人协作的开发中,同一个对象可能会由不同的人来维护。如果你是这个对象的作者,很可能想锁定该对象来保证它不会被意外的修改,来避免程序意外出错的可能。 ECMAScript5引入了几个方法来防止对对象的修改。使用这些方法,可以锁定这些对象,保证任何人不能有意或无意地修改这些对象。 有以下三种锁定修改的级别: 防止扩展禁止为该对象“添加”属性......

iPhone手机下,会把一定长度的数字转为拨号问题

问题的发生今天在修复一个Bug,iPhone下的支付页,点“支付”按钮没有反应,在安卓下不会出现这样的问题。 我第一时间想到是不是事件绑定的问题,排查过后发现并不是。然后我想到是不是传给后台的数据不正确,导致不能执行回调函数。于是我将发起ajax请求的数据,都打印了一遍,发现了问题的所在,传给后台的电话不是我所预想的一串数字,而是一个<a>标签。 问题发生的原因网上查了查资料,......

移动端tap事件点透问题的解决方法

tap在Web移动端,使用click会有300ms的延迟时间。这是因为,浏览器在等着看你是不是在执行双击。这300ms延迟给带来了不好的用户体验,特别在切换选项卡的时候,会让人觉得是不是没有按到。 Zepto的touch模块的tap事件解决了300ms的问题,页面的响应速度给人感觉快了,不过使用tap事件却会带来其他问题,比如“点击穿透”。 什么是“点击穿透”?“点击穿透”常见的发生场景: ......

高性能网站建设指南-下

前言在上一篇文章《高性能网站建设指南-上》,我们了解了雅虎团队在性能优化上的技术技巧和最佳实践。 这篇文章将一一介绍书中剩下的规则。 使用外部JavaScript和CSS内联VS外置我们首先来对比一下内联JavaScript和CSS与将其外置之间的区别。 纯粹而言,内联快一些通常在没有缓存的情况下,内联总的响应会比外置总的响应快30%~50%。这主要是因为外部的JavaScript和CSS需......

高性能网站建设指南-上

前言最近看了《高性能网站建设指南》,本书详细介绍了雅虎团队在性能优化上的技术技巧和最佳实践。 虽然本书在08年就已经出版了,但是其解决方法的思路和原则放在今天,也是很值得学习的。 减少HTTP请求 在终端用户响应的时间中,有80%~90%时间用于下载HTML文档引用的所有组件。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。因此,改善响应时间的最简单、也是最有效的途径就是减少组件......

前端调试神器-Browsersync

前言前端调试是前端工程师必不可少的技能,掌握好的调试技巧,利用好的调试工具,可以有效地提高我们的开发效率。 本文要介绍的是调试工具是——Browsersync。引用Browsersync中文网的介绍: Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下......

判断js中的数据类型

前言在我们编写js的代码中,要处理各种数据。ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String,还有1种复杂数据类型——Object。 面对这6种数据类型,我们应该如何做出准确的判断呢? typeof运算符typeof可以解决大部分的数据类型判断,它是一个一元运算,放在一个运算值之前,其返回值为一个字符串。......

移动开发实践小结

300ms延迟在移动浏览器中,当你点击按钮的单击事件时,将会等待大约300ms的时间。这是因为,浏览器是等着看看你是不是在执行双击。 不过300ms延迟给带来了不好的用户体验,特别在切换选项卡的时候,会让人觉得是不是没有按到。 我们可以使用fastclick.js解决这个问题,可以在这里fastclick下载到文件。 在页面引入fastclick.js后,接着实例化fastclick最好在b......