原创地址:http://www.cnblogs.com/bnbqian/p/3735565.html 转载请注明出处

今天我们要读的书是Web 前端开发修炼之道

第1章 从网站重构说起

1.1 糟糕的实现,头疼的维护

曾经, 网页代码很乱.

1.2 Web 标准,结构,样式和行为的分离

分离了.

1.3 前端的现状

人员参差不齐.

小结:

本章相当于引论。

第2章 团队合作

小结:

团队和沟通这个永远是个凑字数的好话题。


第3章 高质量的HTML

3.1 标签的语义

标签是有语义的。

HTML 标签的设计是有语义的。

标签名 语义 翻译
div divisiton 分隔
span span 范围
ol ordered list 排序
ul unordered list 不排序列表
li list item 列表项目
h1 ~ h6 header 1 to header6 标题1 到 标题6
p paragraph 段落

实际上,div 和p 的语义其实是没有的。那为什么还需要这两个东西呢?

3.2 为什么要使用语义化标签

html + css 布局取代了传统的table 布局,使得结构和样式得到了彻底分离。结构是最重要的,标签的语义化就是让结构更加清楚的有效手段。

3.3 语义良好的评判标准

去掉样式,看网页结构是否组织良好,是否任然有很好的可读性。

3.4 实例

  • 尽可能的少用div 和span
  • p 和div 优先选择p
  • 不用纯样式标签,例如b,font,u 等,改用CSS 设置。

第4章 高质量的CSS

4.1 怪异模式和DTD

DTD(Data Type Definition), 如果没有声明DTD 类型,IE 会按照怪异模式去解析。

在标准模式中,浏览器根据规范表现页面,而怪异模式模拟老式的浏览器以兼容很老很老的站点。具体表现的差别这里不特别展开,一般情况下我们都应该避免触发怪异模式,选用标准模式。

4.2 如何组织CSS

  • base.css + common.css + page.css
  • 通用+项目+灵活

base 层提供CSS reset 和原子类。base 层是稳定的,一般不需要任何的修改。

common 层提供组件级的Css 类,一般由单人维护。

page 层提供各种灵活的样式定义,由各开发人员维护。

4.3 推荐的base.css

这个不错,值得推荐

4.4 模块化CSS

4.4.1 如何划分模块

4.4.2 CSS 的命名

借鉴类和属性的方式命名class。

采用划线分割外加骆驼命名法,使用划线表明层级关系。

4.4.3 多用组合,少用继承

说白了就是挂多个class

4.4.4 margin 问题

不要混用mt mb

4.5 低权重原则

不要滥用子选择器。CSS 样式是可以有重叠的,冲突的时候采用权重高的。

HTML 标签的权重是1,class 是10, id 是100,如果权重相同,就取就近原则。

除非样式很稳定,否则建议多添加class, 少用子选择器。

需要将很重要3个字变绿色,一般来说有两个方案如下:

很多人采用方案1,因为这个方案更加的简洁,但是当有新的需求出现的时候,比如说将小心处理这几个字设置成绿色。

子选择器影响来将来要添加的代码。因为子选择器的权重比较高,而越高的权重对以后的样式越有可能带来影响,因此少用子选择器会更加有利于维护。

4.6 CSS sprite

用不用是个问题

4.7 CSS 的常见问题

4.7.1 多行式和单行式

单行

4.7.2 id 还是class

从css 的角度来说,推荐多用class

  • id 只能出现一次,不可重复,class 可以任意多次。
  • id 权重为100, class 权重为10.

按照低权重原则,我们优先使用class.


第5章 高质量的JavaScript

5.1 良好的编程习惯

5.1.1 避免JS冲突

使用(function(){})()

使用var Global={} 来作全局变量

使用var Global.Chat={} 来作命名空间

5.1.2 统一的入口

5.1.3 CSS 放页头,JavaScript 放页尾

5.1.4 文件压缩

5.2 JavaScript 分层

5.3 技巧

5.4 面向对象编程

JavaScript 是基于原型的语言,new 实例化出来的对象,属性和行为来自于构造函数和原形。当我们声明一个类的时候,同时也生成了一个对应的原型。这个其实和.NET/JAVA 中的类型对象是一致的。

优先级是构造函数优于原型。

原型是个hash 对象。一般来说,把属性放在构造函数中,方便接受参数。一般来说,不介意把所有方法都写在构造函数中,因为每个实例对象只会指向同一个原型,但是每个实例对象都会复制构造函数里的所有方法。比较费内存。当然还有一些比如说私有属性,get set 之类的东西,这里略过。

5.5 其他问题

[读书笔记] Web 前端开发修炼之道的更多相关文章

  1. 《编写高质量代码--Web前端开发修炼之道》读书笔记

    前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...

  2. 《编写高质量代码:Web 前端开发修炼之道》 笔记与读后感

    编写高质量代码:Web 前端开发修炼之道/曹刘阳著. —北京:机械工业出版社,2010.5 第一版 涉及到的知识点: 1. CSS Sprites 在国内很多人叫css精灵,是一种网页图片应用处理方式 ...

  3. 编写高质量代码:Web前端开发修炼之道(一)

    最近老大给我们买来一些技术方面的书籍,其实很少搬着一本书好好的完整的看完过,每每看电子档的,也是打游击式的看看这章,瞅瞅那章,在那5本书中挑了一本比较单薄的<编写高质量代码web前端开发修炼之道 ...

  4. 《Web前端开发修炼之道》-读书笔记CSS部分

    如何组织CSS-分层 应用 css 的能力分两部分:一部分是css的API,重点是如何用css控制页面内元素的样式:另一部分是css框架,重点是如何对 css 进行组织.如何组织 css 可以有多种角 ...

  5. 【读书笔记】读《编写高质量代码—Web前端开发修炼之道》 - JavaScript原型继承与面向对象

    JavaScript是基于原型的语言,通过new实例化出来的对象,其属性和行为来自于两部分,一部分来自于构造函数,另一部分是来自于原型.构造函数中定义的属性和行为的优先级比原型中定义的属性和优先级高, ...

  6. 读《编写高质量代码-Web前端开发修炼之道》笔记

    第一章 1.Web标准由一系列标准组合而成,核心理念是将网页的结构,样式和行为分离,所以分为三大部分:结构标准,样式标准和行为标准.结构标准包括XML标准,XHTML标准,HTML标准:样式标准指CS ...

  7. 《编写高质量代码——Web前端开发修炼之道》读后随笔

    结构样式行为的分离 结构标准包括XML标准.XHTML标准.HTML标准:样式标准有CSS标准:行为标准主要包括DOM标准和ECMAScript标准. 通常的项目会按照如上的方式进行分离,但自己曾今做 ...

  8. web前端开发修炼之道--编写高质量代码

    想想自己的页面实现是否糟糕 Web标准--结构.样式和行为的分离 Web标准可分为三个部分:结构标准.样式标准.行为标准. 结构标准包括XML标准.XHTML标准.HTML标准 样式标准主要是指的CS ...

  9. 编写高质量代码:Web前端开发修炼之道(四)

    这一节是继上一节高质量的Javascript 7)编程实用技巧 1:弹性 从 一个标签区和内容区的实例(就是点击不同的标签菜单显示不同的内容块)来说明不需要每个tabmenu都设置onclick事件, ...

随机推荐

  1. 同级兄弟元素之间的CSS控制

    为了实现这个导航效果:选中菜单中某一项,隐藏掉自身的左边背景线条,同时让他的下一个兄弟元素也隐藏掉线条. 有一种选择器就叫兄弟元素选择器,分为临近兄弟和普通兄弟. 临近兄弟:用 + 表示,只匹配该元素 ...

  2. 日历插件My97DatePicker的使用

    在开发过程中,我们会经常遇到让用户输入日期的表单,这类表单处理起来也不是太繁琐,就是简单的字符串和日期之间的转换.但是,如果用户不按照已设定的日期格式进行输入,必定会造成不必要的麻烦.为了更好的处理这 ...

  3. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

  4. Divide and Conquer:River Hopscotch(POJ 3258)

     去掉石头 题目大意:一群牛在河上的石头上跳来跳去,现在问你如何通过去掉M个石头,使得牛跳过石头的最短距离变得最大? 这一题比较经典,分治法的经典,二分法可以很方便处理这个问题,我们只要明白比较函数这 ...

  5. (译)利用ASP.NET加密和解密Web.config中连接字符串

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

  6. 获取http请求响应头

    一直都是在给服务器端发送请求的时候可能会出现设置头文件的情况,但这次获取HTTP 返回的头文件,着实让我纠结一番,但最终还是实现了,总结一下.(PS:其实最后方法很简单,只是分享一下纠结过程) 先看一 ...

  7. iOS开发MAC下配置Svn和Git

    如果你对iOS开发中的版本控制还不了解那么你可以先看看这篇(大致看一遍就ok) http://www.cnblogs.com/iCocos/p/4767692.html   关于版本控制使用起来并不难 ...

  8. java Http原生 Get 和Post 支持代理认证

    import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import ...

  9. 杨辉三角用java实现

    代码如下: public class ErArray { public static void main(String[] args) { //杨辉三角 int[][] num = new int[1 ...

  10. iOS系类教程之用instruments来检验你的app

    比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文   入门 为了节省大家的时间,提供一个演示的D ...