JavaScript编程实践中容易出错的地方


这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易出错或需要注意的地方,并提供避开这些陷阱的方法,总体上讲,就是在认清事物本质的基础样要坚持好的编程习惯,其实这就是Douglas Crockford很久以前提出的JavaScript风格要素问题了,有些内容直接是相同的。在翻译的过程中,我又看到了贤安去年翻译的《JavaScript的9个陷阱及评点》,其内容又有些交叉在一起,所以我就在现有翻译的基础上做了一个简单的拼合,并依据自己的理解增加了一些注释和解释。

  1. 区分大小写:变量名、属性和方法全部都区分大小写
  2. 不匹配的引号、圆括号或花括号将抛出错误
  3. 条件语句:3个常见陷阱
  4. 换行:一直用分号结束语句来避免常见的换行问题
  5. 标点法:在对象声明的尾部逗号将导致出错
  6. HTML id 冲突
  7. 变量作用域:全局变量对局部变量
  8. 函数重载:当重载不存在时,覆盖函数
  9. 区分string.replace()函数不是全局的
  10. parseInt应该包含两个参数
  11. “this”和绑定问题
  12. 为参数设置默认值,以免你遗漏它们
  13. for each循环是用于对象而不是数组
  14. switch语句需要点技巧
  15. 总是在检查undefined前检查null
  16. 时间处理陷阱

区分大小写

变量名和函数名都是区分大小写的。就像配错的引号一样,这些大家都知道。但是,由于错误是不作声的,所以这是一个提醒。为自己选择一个命名规则,并坚持它。而且,记住JavaScript中的原生函数和CSS属性都是 骆驼拼写法(camelCase)。

getElementById(’myId’) != getElementByID(’myId’); //它应该是“Id”而不是“ID”
getElementById(’myId‘) != getElementById(’myID‘); // “Id”也不等于“ID”
document.getElementById('myId').style.Color; //返回 "undefined"

不匹配的引号、圆括号或花括号

避免陷入不匹配的引号、圆括号或花括号陷阱的最好方式是编码时一直同时写出打开和关闭这两个元素符号,然后在其中间加入代码。开始:

var myString = ""; //在输入字符串值之前写入这对引号
function myFunction(){
 if(){//关闭每个打开的括弧
 }
}
//统计所有的左括号和右括号数量,并且确保它们相等
alert(parseInt(var1)*(parseInt(var2)+parseInt(var3))); //关闭每个打开的圆括号

每当你打开一个元素,请关闭它。当你添加了关闭圆括号后,你再把函数的参数放进圆括号中。如果有一串圆括号,统计所有打开的圆括号和所有关闭的圆括号,并且确保这两个数字相等。



相关阅读:
DNS专题(3)---域名服务器的类型①
Iframe 代码详解
无组件实现文件上传/下载
js将类数组对象转换成数组对象
MySQL数据库存储引擎详解
文本框textarea标签
删除邮件时调用的文件(mail_prc.asp)
学习DIV+CSS难不难 需要掌握哪些知识
ASP.NET教程:Ref和Out关键字异同
asp.net安全、实用、简单的大容量存储过程分页
XHTML与HTML之间的区别
HTML5: Web 标准最巨大的飞跃
如何防止被IE工具拦截导致无法弹出窗口
Php部分常见问题总结
快速导航

Copyright © 2016 phpStudy |