分享JavaScript开发实战经验
创始人
2024-08-02 20:50:21
0

JavaScript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,下面介绍九个JavaScript开发的经验,供大家参考。

1、使用正确的  

 

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

 

  1.  
  2. //insert your code here  
  3.  

 

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

事实上,客户端默认为将 JavaScript 代码指定 type=”text/javascript” 属性,除非需要 type=”application/x-javascript” 这样的类型,否则完全没有必要写 type 属性。关于 JavaScript MIME 类型,这里有一篇参考文档:http://krijnhoetmer.nl/stuff/javascript/mime-types/

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

使用外部 .js 文档比在 html 文档里直接写 JavaScript 代码要简洁一些,同时也使得 JS 文件可以被缓存,保证网站资源的快速访问。

将你的 JavaScript 代码置于一个 .js 文档中,然后在 html 文档中使用  

 

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

90 年代一些非常古老的浏览器无法执行 JavaScript 代码。为了防止这些浏览器出现不必要的结果。在 1994 年至 1997 年间,在 HTML 中使用注释包裹 JavaScript 代码是良好的兼容方案,以保证不支持 JavaScript 的浏览器能够忽略它。

这里是一个简单案例:

 

  1.  
  2.  
  3.  

 

然而在 2010 年,所有的浏览器(甚至是可爱的 IE 6)都能解释 JavaScript 代码,因此绝对没有使用注释包裹 JS 代码的必要了。更糟的是,如果代码被 HTML 注释包裹,并且使用了 — 符号,浏览器可能会误以为 HTML 文档已经结束。

4、使用框架

除非你的 JavaScript 代码很短或者很简单,你应该通过框架来避免过多代码上的重复劳动。在我看来,jQuery 是***的,有一个很棒的社区,所以值得尝试。

芒果语:其实 YUI 也很棒,系统、强大、完善、稳妥。更有牛逼叉叉的 Loader 机制,更高效地提高 Web 应用的性能。

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

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

比如下面的案例:

 

  1. var name = "Jean";  
  2. var size = data.length; 

 

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

6、保持代码的分离

几年前,当一个程序员想要为一个 HTML 元素添加事件时(比如说,你想要在用户输入时验证时间信息),他会使用特殊的属性把 JavaScript 代码放置于 html 中,比如 onblur、onchange,onclick 等等。比如:

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

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

 

  1. $(document).ready(function(){  
  2. $('input[name=date]').bind('change', validateDate);  
  3. }); 

 

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

不久以前,在 和 标签之间插入脚本文件一度成为***实践。但浏览器是顺序解析文档,并动态加载外部文件的。这就意味着在页面头部插入脚本会在安排在页面内容之前加载。

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

 

  1.  
  2.  
  3.  

 

8、使用 JSLint

JSLint 是一款用于 JavaScript 源代码检查的应用程序。如果它发现 JS 中存在某些问题,就会返回相关的问题描述信息和大概的解决方案。

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

9、不要轻易使用 document.write

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

 

  1. document.write("hello world"); 

 

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

 

  1. document.getElementById('hello').innerHTML = 'hello world'; 

 

英文原稿:http://www.catswhocode.com/blog/best-practices-for-modern-javascript-development
翻译整理:http://www.mangguo.org/9-best-practices-for-javascript-development/

【编辑推荐】

  1. JavaScript重构 模块划分和命名空间
  2. 谈JavaScript中的移除空事件处理程序
  3. 谈JavaScript中的事件委托
  4. 详解JavaScript之分解任务
  5. 详细介绍JavaScript中的cookie

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...