9条JavaScript 开发最佳实践

1、使用正确的 <script> 标签

如果你需要在html文档中使用一些JavaScript代码,你应当通常会使用如下的<script>标签:

 

 

但是在源代码中,以下这种标签写法随处可见:

 

 

在HTML中,language 属性已经过时,因为具有type属性后,language 它是冗余的。不要

再这样写了……

事实上,客户端默认为将 JavaScript 代码指定 type=”text/javascript” 属性,除非需要

type=”application/x-javascript” 这样的类型,否则完全没有必要写 type 属性。关于 JavaScript MIME 类型,这里有一篇

 

参考文档:http://www.xinran001.com/bbs/

 

 

2、将代码放置于外部文件

使用外部 .js 文档比在 html 文档里直接写JavaScript 代码要简洁一些,同时也使得JS文件

可以被缓存,保证网站资源的快速访问。

将你的 JavaScript 代码置于一个.js 文档中,然后在 html 文档中使用 <script> 标签来引

入它:

 

 

3、避免使用 HTML 注释包裹代码

90 年代一些非常古老的浏览器无法执行JavaScript代码。为了防止这些浏览器出现不必要的

结果。在 1994 年至 1997 年间,在HTML中使用注释包裹JavaScript代码是良好的兼容方

案,以保证不支持 JavaScript 的浏览器能够忽略它。

这里是一个简单案例:

 

 

然而在2010年,所有的浏览器(甚至是可爱的IE6)都能解释JavaScript代码,因此绝对没有

使用注释包裹JS代码的必要了。更糟的是,如果代码被HTML注释包裹,并且使用了 — 符

号,浏览器可能会误以为HTML文档已经结束。

4、使用框架

除非你的JavaScript代码很短或者很简单,你应该通过框架来避免过多代码上的重复劳动。在

我看来jQuery是最好的,有一个很棒的社区,所以值得尝试。

其实YUI也很棒,系统、强大、完善、稳妥。更有牛逼叉叉的 Loader 机制,更高效地提高

Web 应用的性能。

5、使用 var 关键字声明变量

你应当使用 var 语句来声明变量,否则变量会存在于全局作用域内,并且使用 var 使得代码

可读易懂。

比如下面的案例:

var name = "Jean";

var size = data.length;

之前在 JavaScript 中的对象引用机制 的评论中也有涉及变量作用域的问题。

6、保持代码的分离

几年前,当一个程序员想要为一个 HTML 元素添加事件时(比如说,你想要在用户输入时验证


时间信息),他会使用特殊的属性把 JavaScript 代码放置于 html 中,比如 onblur、


onchange,onclick 等等。比如:

虽然照样可行,但却很不简洁。HTML 应当只包含文档的结构层面,就如同使用内联 CSS 是

不好的做法一样,内联 JavaScript 同样不可取。

取而代之,下面的代码如何?使用 jQuery 也很简单:

7、在文档底部包含脚本文件

不久以前,在 <head> 和 </head> 标签之间插入脚本文件一度成为最佳实践。但浏览器是

顺序解析文档,并动态加载外部文件的。这就意味着在页面头部插入脚本会在安排在页面内容

之前加载。

为了在内容就绪之后再加载脚本,JavaScript 文件应该在文档底部被包含。就像下面这样:

8、使用 JSLint

JSLint 是一款用于 JavaScript 源代码检查的应用程序。如果它发现 JS 中存在某些问题,就

会返回相关的问题描述信息和大概的解决方案。

JSLint 能有效发现代码中的缺陷,或者说代码风格上值得改进之处。这个站点是 JavaScript

开发绝对值得收藏的

9、不要轻易使用 document.write

陈旧的document.write方法已经被不赞成使用了好些年,然而这仍然是一贯使用的方法。

应当使用 DOM 的 innerHTML 函数在页面中插入文本。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值