正文内容加载中...
posted @ 2014-12-19 17:05 令狐葱★ 阅读 (188) 评论 (0) 编辑
摘要:1. Paul IrishGithub主页:https://github.com/paulirish个人主页:http://paulirish.com维基百科:http://en.wikipedia.org/wiki/Paul_IrishPaul Irish是著名的前端开发工程师,同时他也是Chro... 阅读全文
posted @ 2014-08-08 21:51 令狐葱★ 阅读 (337) 评论 (0) 编辑
摘要:Immediately-invoked Function Expression(IIFE,立即调用函数),简单的理解就是定义完成函数之后立即执行。因此有时候也会被称为“自执行的匿名函数”(self-executing anonymous function)。IIFE的叫法最早见于Ben Alman的... 阅读全文
posted @ 2014-05-29 13:20 令狐葱★ 阅读 (369) 评论 (0) 编辑
摘要:本专栏尝试记录并分享一些个人在学习和使用开源程序代码的过程中,经意或者不经意间看到的个人感觉比较有参考价值的代码片段。个人感觉,并不是说能写或者能看得懂一些晦涩难懂的代码段子,就可以成为向别人炫耀的资本。本专栏无意炫技,其实也无技可炫。至于让某些牛人觉得有些小儿科,我只能说,“您老太认真了”。保持元素纵横比解决问题:页面尺寸变化(resize)时保持页面元素纵横比开源程序:Bootstrap经常,我们会遇到这样的需求,需要保持页面上某些元素在页面大小被改变重新渲染的时候,保持该元素区域的纵横比不变。最常见的场景,比如页面上显示图片的时候,希望始终保持图片的纵横比,哪怕图片以缩略图显示。或者,在 阅读全文
posted @ 2014-04-10 14:43 令狐葱★ 阅读 (1005) 评论 (0) 编辑
摘要:单例模式解决问题:只执行一次的函数开源程序:underscore有时候我们会需要使用单例模式,比如需要一个函数,这个函数在整个应用运行的时候只被访问一次。如果再次访问就会访问上次的执行结果。这个需求的一个经典实现可以在underscore的代码中找到:_.once = function(func) { var ran = false, memo; return function() { if (ran) return memo; ran = true; memo = func.apply(this, arguments); func = nu... 阅读全文
posted @ 2014-04-10 14:39 令狐葱★ 阅读 (274) 评论 (0) 编辑
摘要:浏览器特性判断解决问题:判断某事件/方法在当前浏览器中是否支持开源程序:Modernizr众所周知,各个不同的浏览器对于代码渲染的实现也各自为政百花齐放,虽然有W3C在维护着标准,但是由于市面上存在很多浏览器,每个浏览器又有数不尽的历史版本,因此对于浏览器兼容性问题的判断成了在写JS应用中必不可少的技能。以前大家都倾向于做浏览器类型和版本的检测,现在倾向于做浏览器的特性检测,这样更有实际用处。今天要提到的是通过判断事件是否存在来探测浏览器兼容性支持。比如onmousewheel事件,并不是所有的浏览器都会支持,我们可以这样:if(document.onmousewheel){ //这里是... 阅读全文
posted @ 2014-04-10 14:37 令狐葱★ 阅读 (433) 评论 (0) 编辑
摘要:前言在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新;Ctrl-F5的行为也是刷新页面,但是会清除浏览器缓存,这在前端调试时候会常用。二者真正的区别是什么呢?在stackoverflow上有人给出了很详细的解释,整理如下。说明在不同的浏览器中F5和CTRL-F5的行为是不一样的,但是他们的主要行为还是非常相似的,以下结果是在FF,IE,Opera和Chrome中进行过测试得出。F5使用缓存,并且只有在资源内容发生变化的时候才会去更新资源。当刷新一个页面的时候,浏览器会尝试使用各种类型的缓存,并且会发送If-Modified-Since头到服务器,如果服务器返回304 No 阅读全文
posted @ 2013-11-06 14:38 令狐葱★ 阅读 (1517) 评论 (0) 编辑
摘要:前言在文本处理中,CR(CarriageReturn),LF(LineFeed),CR/LF是不同操作系统上使用的换行符,具体如下:Dos和Windows采用回车+换行CR/LF表示下一行而UNIX/Linux采用换行符LF表示下一行苹果机(MAC OS系统)则采用回车符CR表示下一行区别CR与LF区别如下:CR用符号\r表示,十进制ASCII代码是13,十六进制代码为0x0DLF使用\n符号表示,ASCII代码是10,十六制为0x0A所以Windows平台上换行在文本文件中是使用0d 0a两个字节表示,而UNIX和苹果平台上换行则是使用0a或0d一个字节表示。问题一般操作系统上的运行库会自动 阅读全文
posted @ 2013-11-06 14:37 令狐葱★ 阅读 (4592) 评论 (0) 编辑
摘要:在网上搜索关键字 “javascript object clone”,可以找到很多实现克隆 Object 的代码,可是据我测试,让人满意的几乎没有。今天发现 jQuery 的作者 John Resig 给别人的答复,尝试了一下确实很好用。方法如下:// 浅层复制(只复制顶层的非 object 元素)var newObject = jQuery.extend({}, oldObject);// 深层复制(一层一层往下复制直到最底层)var newObject = jQuery.extend(true, {}, oldObject);测试如下:var obj1 = { 'a': & 阅读全文
posted @ 2013-07-24 15:11 令狐葱★ 阅读 (168) 评论 (0) 编辑
摘要:之前一直存在Failed to load resource的报错信息,我一直以为是原始文件不存在,也就没去管他,但今天我在调试百度联盟的代码的时候,发现Chrome下无法显示广告,而我用IE9却能正常显示,查了下页面代码,发现广告的js代码是在的,但为什么不显示呢?然后我网上搜了一下,在stackoverflow上找到了答案,原来是我装了AdBlock插件,这插件的功能是屏蔽广告,挺好用的插件,可以认为是Chrome的必装插件,从我用chrome开始就一直装这个了。然后我把博客域名添加到过滤列表里,广告就能正常显示了。不过由于现在AdBlock插件的使用量很多,很多网站的广告被屏蔽,这让一些站 阅读全文
posted @ 2013-06-09 20:01 令狐葱★ 阅读 (699) 评论 (0) 编辑