• 我们应该有新到生活,为我们未经生活过到的。

建立优美的面向对象JS编程风格

由于js语言自身语法的灵活性,使得在js程序中出现了各种各样的代码风格,但也正因为如此,导致了代码的可读性和可维护性大大降低,特别随着项目的不断更新,js代码的不断增多,到后期维护时甚至连自己写的代码都不知所以然了,因此确定一种好的代码风格是很有必要的。近两年随着ajax的兴起,js变得越来越受“重用”,js开始在web开发中中充当着非常重要的角色,因此也开始遇到了各种各样的问题。于是很多牛人们就提出了js的面向对象编程方法。

使用面向对象的编程思想实现js代码其实也并不难,实现方法也又多种,比如prototype原型,new object()等方法。前面的每个方法都有其自己的优缺点,但都存在一个问题,那就是对于js变量作用域的控制。如果不能很好控制js变量作用域,就可能导致对象内部变量被外部肆意修改,从而导致程序被破坏,不便于程序的维护,对象的封装特性和程序健壮性都大打折扣。被由于js本身没有很好的对变量范围的定义(public/private等限定符),因此在js的面向对象编程中也就遇到了变量的控制问题,特别是对于对象内部的公有变量在prototype原型方法中都很难实现。

HTML应当给予更多重视

国内关于 HTML 的文章不多,可能因为它过于容易上手而被很多前端人员所忽略,但不管怎样HTML仍然是Web的核心,所以彻底的了解HTML以及它背后的思想是非常有用的。

可惜的是,我国对于HTML的认识,特别在一些初学者中,有非常严重的错误。

让我们首先看看国内的一些术语。一些国内采用的术语:

  • xhtml + css
  • div + css

以上两种术语的流行也有一定的道理。使用table进行页面布局在我国仍然占据了大部分的网站,所以以上术语用来区分那些默认使用table来标记页面的技术还是十分直观和易于理解的。而对于国外的开发人员和设计师来说他们不需要使用以上这两个术语,因为采用符合语意的标记和使用CSS来制作网页已经大大超过了使用table,所以table已经被完全忽略了,这样还需要用“xhtml+css”或“div+css”来标识制作网页时采用的技术吗?显然默认的东西就没有必要提出了。

XHTML 是为了能够让HTML和XML兼容的一种产物,他的优势在于能够和W3C的其他XML的应用,如MathML、SVG兼容。但是我们现在写的网页是XHTML吗?显然不是。

你应当记住XHTML就是XML,所以它的content type应当 是application/xhtml+xml,而不是text/html 。所以如果你仍然象目前的Internet上的大多数网站一样,使用text/html作为你的站点的content type,那么你并没有使用XHTML,你用的仍然是HTML,只不过你在声明中添加了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

这条声明仅仅标识你的文档符合XHTML的标记标准,但是它并不表明你的文档正在以XHTML要求的方式被浏览器解析。事实上,人们不使用application/xhtml+xml因为,Internet Explorer 6 以及以下版本不能够解析application/xhtml+xml这种MIME type,如果你采用XHTML标准要求的content type发送文档,那么目前地球上大部分的人都看不到你的网页,所以人们仍然使用HTML。

所以xhtml+css是一个糟糕的术语。目前你至少应该使用HTML + CSS,而div+css更是荒谬的。但是如果你在编写HTML时,符合XHTML标准,那也非常好,至少在未来所有浏览器都支持XHTML后,你可以不用修改你的文档了,但是你心里应该明白,真正起作用的仅仅是HTML。

我想我们大部分人都应当重新审视HTML。

目前,W3C推荐的HTML版本是 HTML 4.01 ,这一版本早在近十年前就已出现。在当时的HTML 4.01的设计来看,它早已突出了在我们现在看来非常重要的设计。

  • 国际化
  • 文档与表现分离
  • 无障碍性
  • 符合语意的HTML

HTML文档应当是一份要让全世界任何角落的人,不管他们本身和使用Internet的环境如何,都应当能够正常访问的文档。因此在我们编写HTML文档之前,脑中应当始终放着HTML的设计思想。其中,容易被很多人所忽略的是,中文网站不应当使用gb2312作为文档的字符编码,最好采用UTF-8。

页面中 CSS 加载方式的优化

1、应该将 CSS 放置于结构的上方(一般放置于 head 元素内)。CSS 是解释型语言,Firefox 和 IE 在等待 CSS 传输完成之前不会渲染任何东西。只有将 CSS 前置,才可在浏览器解析结构时,对页面进行渲染。

This causes the blank white screen problem. The page is totally blank until the stylesheet at the bottom is downloaded, on the order of 6-10 seconds for this page. The browser is waiting for the stylesheet to be loaded before it renders anything else in the page, even the static text.

导致的问题就是,页面会有一段时间“朴素”,突然之间又“华丽”,用户体验很不好。

2、尽量使用 <link rel=”stylesheet” href=”http://www.planabc/yuanxin.css” type=”text/css”> 的样式导入方式,而减少 @import 的使用,更勿使用多层嵌套的 @import 。因为在 IE 里, @import 相当于将 <link> 放在页面尾部。

This is a valid syntax, but, even though it’s in the document’s HEAD, it breaks progressive rendering and instead causes the blank white screen and Flash of Unstyled Content problems

Page 7 of 7« First...234567