嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-07-09 3436 次浏览 标签 : 计算机基础

Best Practices for Speeding Up Your Web Site

原文原版:https://developer.yahoo.com/performance/rules.html

翻译版:http://www.cnblogs.com/smjack/archive/2009/02/24/1396895.html

上面是原文和一篇质量非常高的翻译,下面是我的笔记。

首先在第三条 给头部添加一个Expires 或者 Cache-Control (Add an Expires or a Cache-Control Header) 遇到小困惑。为什么在HTTP头里要设置同时设置 ExpiresCache-control:max-age http://segmentfault.com/q/1010000000599808

当我将浏览器缓存开启之后,在打开第一个页面的时候是200 ok点击页面上的测试超链接,跳转到第二个页面,对于刚请求的资源,都还是200 ok,只有当我刷新当前页面时,才会变成304。这是为什么呢?http://segmentfault.com/q/1010000000600092

第26条中说到:

 If you have 10 buttons inside a div, attach only one event handler to the div wrapper, instead of one handler for each button. Events bubble up so you'll be able to catch the event and figure out which button it originated from.

如果在一个Div中有10个按钮,与其在每个按钮上都放一个事件处理程序,不如只在Div上放一个事件处理程序。事件会冒泡上溯,这样你就会捕获这一事件,并找出是哪个按钮发起的它。

<ul id="ul"></ul>
<script>
for(i=1;i<10000;i++){
    $("#ul").append('<li>'+i+'</li>');
}
$("#ul li").click(function(){
    console.log(this);
})
$("#ul").delegate("li","click",function(){
    console.log('delegate',this);
})
</script>

理解参考:

1.事件冒泡:http://www.cnblogs.com/hh54188/archive/2012/02/08/2343357.html

2.事件代理的实现:http://bibodeng.sinaapp.com/web_develop/138.html

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表

回复 周梦康的哥 2014-11-17 17:23:04
http://www.jb51.net/article/27309.htm 我觉得 这哥写的就很好。。