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

2016-02-20 00:41 6 1 收藏

下面是个超简单的JavaScript编程实践中容易出错的地方教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)区分大小写:变量名、属性和方法全部都区分大小写 不匹配的引号、圆括号或花括号将抛出错误 条件语句:3个常见陷阱 换行:一直用分号结束语句来避免常见的换行问题 标点法:在对象声明的尾部逗号将导致出错 HTML id 冲突 变量作用域:全局变量对局部变量 函数重载:当重载不存在时,覆盖函数 区分string.replace()函数不是全局的 parseInt应该包含两个参数 this和绑定问题 为参数设置默认值,以免你遗漏它们 for each循环是用于对象而不是数组 switch语句需要点技巧 总是在检查undefined前检查null 时间处理陷阱

区分大小写

变量名和函数名都是区分大小写的。就像配错的引号一样,这些大家都知道。但是,由于错误是不作声的,所以这是一个提醒。为自己选择一个命名规则,并坚持它。而且,记住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))); //关闭每个打开的圆括号

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

来源:http://www.tulaoshi.com/n/20160220/1632402.html

延伸阅读
Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提供了丰富的API多线程编程在Java 5中更加容易,灵活。本文通过一个网络服务器模型,来实践Java5的多线程编程,该模型中使用了Java5中的线程池,阻塞队列,可重入锁等,还实践了Callable, Future等接口,并使用了Java 5的另外一个新特性泛型。 简介 本文将实现...
标签: 刺绣 十字绣
接触 十字绣 也有一段时间了,作为我日常生活中的一项娱乐和打发时间的一点活动,十字绣确实让我的生活充实增色了不少,虽然十字绣确实是一个比较累人的活儿,不过在付出很多后也体会了收获带来的喜悦,而且我也从十字绣里学到了不少东西。 看着简单实际却不简单,都说十字绣很简单,照着格子一针针绣就对了,瞪着眼看着简单的图...
    在写面向对象的WEB应用程序方面JavaSciprt是一种很好的选择.它能支持OOP.因为它通过原型支持继承的方式和通过属性和方法的方式一样好.很多开发者试图抛弃JS,试着用C#或JAVA仅是因为JS不是他认为合适的面向对象的语言.许多人还没有认识到javascript支持继承.当你写面向对象的代码时.它能给你很强大的能量.你也可以使用它写出...
首先,本文的目标读者是正在从事技术工作的架构师。为了避免浪费大家的才智,我会避免讲述一些陈腐的最佳实践,例如"日常构建(build daily)"、"测试一切(test everything)"和"经常集成( integrate often)。 任何具有称职架构师的项目都有分工明确的、定义良好的团队结构。他们还为进行编码检查、构建代码(每日或在需要时)、进行测试(...
标签: Web开发
由于我在Mozilla工作的关系,我准备多谈谈Javascript 2.0。这个牵涉到很多事情(从阅读规范,Javascript在非web领域的使用,自学SML).然而,或许里面我正在面对的最有挑战的事情是量化和了解正在变化中的语言以及如何把Javascript用于一般的编程工作。 透过历史,我们发现Javascript做为一门语言已经或正在经历以下几个阶段: 我...

经验教程

821

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部