欢迎光临

木子屋

标题: JavaScript开发时的五个小提示

作者: dnawo

日期: 2007-11-26 11:38 PM

分类: 脚本语言

内容: 原文：Five quick JavaScript tips
只在<form>元素上使用submit事件
如果要在form中绑定事件处理程序时，应该只在<form>元素上绑定submit事件，而不是给提交按钮绑定click事件。
March：这个方式固然很好，但是，公司开发时使用了Web Flow，一个页面就一个大form，而里面可能有若干个提交按钮，所以不得不把部分事件处理程序绑定在了提交按钮的click事件上。
可点击的都应该是链接
不要给除锚元素（<a>）以外的元素绑定click事件。这一点对于键盘用户很重要，因为他们在仅通过键盘获取元素焦点时会遇到困难。
March：不过个人感觉锚元素还是应该只用作链接，而一些功能性的操作（比如Google Reader的Mark all as new），最好还是用<span>来标注，accessibility的问题可以通过快捷键等方式解决。这样做可以更好的还原HTML元素的语义。
简单的for循环优化
在你写一个for循环时，有个很简单的技巧能够提高性能。
复制内容到剪贴板 程序代码for ( var i = 0; i < elements.length; ++i )
使用下面的语句代替上面的：
复制内容到剪贴板 程序代码for ( var i = 0, j = elements.length; i < j; ++i )
这样可以把元素的个数（elements.length的值）储存在一个变量j中，这样就不必在每次循环时都计算一遍元素的个数。
用匿名函数来作为事件处理程序
尤其是对于短小的函数，创建一个匿名函数会比使用一个命名函数的引用更具可读性。
复制内容到剪贴板 程序代码anchor.onclick = function() { map.goToPosition( home ); return false; }
March：在较复杂的JavaScript开发时还是使用命名函数效率更高。
使用Array.join代替字符串连接（concatenating strings）
在将很多字符串、变量等连接成一个很长的字符串时，将所有字符串和变量放入一个数组，然后用join方法将他们组成一个长字符串，这样无论从代码可读性还是从性能上都更胜于字符串连接。
复制内容到剪贴板 程序代码var text = 'There are' + elements.length + 'members in the elements array.';
var text = ['There are', elements.length, 'members in the elements array.'].join(' ');

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.207 ms

返回

标题: JavaScript开发时的五个小提示

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.207 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.223 ms

返回