作者: Richardy, 出处:IT专家网, 责任编辑: 包春林,
2009-05-14 04:00
当我们初次尝试在Web页面上运行JavaScript时,有可能代码不会按照设想的那样工作。这时候我们往往会收到出错信息的提示,信息会告诉我们到底发生了什么。
<script>
document.write("&lt;SCRIPT LANGUAGE=/"JavaScript1.1/" SRC=/"http:////ucpn.yesky.com//js.ng//area=cc-wenzhangye_pip1&amp;format=picinpic&amp;node_ctocio_cto="+nodeid+"&amp;num=1&amp;page=cont&amp;site=ctocio_cto/"&gt;&lt;//SCRIPT&gt;");
</script><script src="http://ucpn.yesky.com/js.ng/area=cc-wenzhangye_pip1&format=picinpic&node_ctocio_cto=20380&num=1&page=cont&site=ctocio_cto"></script>
脚本不运行的原因有很多,但是人们在编写脚本的时候会出现一些常见的错误。事实上,如果我们检查一下这些常见错误,
就很有可能发现脚本不能正常运行的原因或者至少会我们纠正一些错误。当然,要发现所有错误的可能是很小的,不过一旦纠正常见错误,那么其他错误也相对变得
容易寻找了。
到底,我们要检查的常见错误是哪一些呢?要怎样才能找到这些常见错误并将其修复呢?这就是我们这篇文章要讲的内容。
错误搭配或错误放置的大括弧
JavaScript使用{}来包含命令。你可以用这对大括弧来包含一组语句。这些命令语句可以视为一个模块,使用多个条件语句或者组合循环时,这些模块可以相互嵌套。当这些语句的层次分多了,就很有可能出现嵌套错误的情况,记住每个{符号都应该有相对应的}符号。
另一种情况是当我们拥有大量代码块嵌套的时候,我们有可能丢失代码级别的路径,并将代码放置在错误的层级中,最后导致代码不能依照预期的情况生效。
纠正这类由于括弧错误匹配造成的问题,最简单的方法是获取代码然后使用一些不同的高亮度标记标出相应对。在代码的开始端用高亮度标记第一个{符
号。然后沿着代码往下找到同级别的},再用相同的颜色将其高亮度标记出来。然后用另一种颜色高亮度标记下一个{,再用相同的颜色标记下一个},依此类推,
相同级别的{}保持相同的颜色,就可以避免出错了。
错误匹配的引号
使用HTML和JavaScript,我们可以用(")或(')。当我们的HTML代码带有document.write语句时,要在HTML
中使用"",在JavaScript中使用''。如果这样做,就不会出现诸如document.write('< a href="mypage.htm
">');因为这个引号完全嵌套在单引号中。
还有两种可能的情况。我们可能意外地打上了回括的单引号,导致接下来的语句作为文本字符串的一部分结束,因此代码不能生效。另一种情况是,你或
许需要在文本中包含一个真正的单引号。为了不让带有文本的单引号语句成为文本的结束,需要在它前面加上一个反斜线来回避,如
document.write('Let/'s go.')。
意外关闭或忘记关闭引号都会导致代码失效。我们可以通过代码打印以及三种高亮度标记来检查这样的错误。在文本开始端,需要避免歧义的地方,以及文本的末端高亮度标记就可以了。
条件句中缺少小括号
编写条件语句时,需要在条件上使用小括号。而出现多重条件时,要为每一个条件都括上括弧。在实际操作中,我们很容易忘记将条件括入括弧内,而嵌套层级过多的时候,就更容易弄错层级。
解决这一问题的方法与解决大括弧的错误匹配类似,只需为没一个层级的括弧标上不同的颜色以示标记就可以了。
遗漏的分号
每一个JavaScript语句都应该以分号结尾。有时,我们看到的JavaScript代码中每一个语句都单独成行,而分号与代码分离了,不过如果我们需要重新整理代码的时候,将两个语句放在同一行而忘记为其添加一个分号,就会发现代码无法生效。
解决这一问题最简单的方法是重新格式化代码,以使每个代码都以单独成行的形式出现,并且确保每一行都以分号结束。这样就可以随时将代码结合起来而不会影响其正常运行了。
大写匹配错误
JavaScript对于大小写的区分是很敏感的。这意味着myvar和myVar是两个不同的变量。要避免出现大小写导致的变量错误,建议大
家采用标准方法为变量命名,例:统一使用thisIsMyVariable的格式或者this_is_my_variable格式。这样可以有效区别那些
只是在大小写上有不同的变量,而在查找错误的时候,醒目的格式特点也有利于使用准确的指定寻找。
如果两个变量的命名相同还可能出现一种问题,即不是所有的浏览器都能正确执行代码,且有可能视那些仅存在大小写异同的变量为相同变量,可想而知,那些大写不正确的代码将无法在一些浏览器中运行。
在对象加载前引用对象
页面标头部分的JavaScript代码没有包含在加载页面前运行的函数之内。页面内容部分的JavaScript会作为页面的一部分加载。从
装载事件处理器中调用的JavaScript会在加载完页面后运行。函数会在JavaScript代码调用时运行。事件处理器会在相关事件触发时运行。
如果JavaScript正通过文档对象模型访问web页面的内容,那么你正引用的那些对象必须在引用前已经加载完毕才可以。引用一个尚未完成
加载的对象将出现错误。为纠正这一问题,我们应该确保不引用任何来自页面标头部分JavaScript的对象,除非它包含在页面完成加载后调用的函数中
时。对页面内容部分JavaScript对象的引用则取决于JavaScript和对象获得加载速度的顺序。最好是将对象的处理情况转移到页面装载事件处
理器中。
预留字作为变量名使用
对于JavaScript语言来说有一些词具有特殊含义。这些预定字不能作为变量使用。如果我们不小心将这些预留字作为变量名使用,那么处理的结果将不尽人意。
最好的解决方法是熟悉这些预留字列表。如果我们按照适当的命名标准为变量命名,那么将可以避免把预留字当成变量名的情况,因为标准的命名习惯会阻止我们使用这些预留字。
函数调用时丢失的参数
定义函数的时候,我们会定义参数的数量。编写代码调用函数时,我们要传送符合预计的参数。要检查参数的数量或者检查代码发送调用请求后接收参数的时间相对而言都是比较容易的。如果参数已经被赋予了合理的名称,那么还应该明显表示出哪些需要被传送到每个参数中。
在这种情况下,如果我们决定向函数添加额外的参数就有可能出现问题。所有对函数的调用现在都需要更新为传送该额外参数。如果函数是一个链接到许多页面的外部JavaScript,那就很容易遗漏掉从一个页面到另一个页面中对函数的调用。
不受支持的文档对象模式
大多数浏览器都支持W3C标准文档对象模式。假定我们正在使用这些浏览器中的一个,那么我们在浏览器中测试被编辑成使用标准DOM的脚本时,脚
本能正常运行。但是有可能页面访问者的浏览器版本比较陈旧。如果想要使脚本也能支持这一部分访问者,就需要将脚本编辑成使用跨浏览器的DOM。
有许多旧版本浏览器的脚本可以从互联网下载,当然新的脚本也同样可以下载。为了纠正这一错误,我们需要重写脚本以使用标准DOM或跨浏览器DOM。如果脚本涉及document.all或document.layers,我们就可以辨别出它使用的是旧的DOMs。
作者: Richardy, 出处:IT专家网, 责任编辑: 包春林,
2009-05-14 04:00
分享到:
相关推荐
ESLint:使用ESLint解决常见JavaScript错误.docx
虽然JavaScript错误检测器随着日渐复杂的浏览器而不断完善,但是有一些错误仍然不会被发现。最可靠的方法之一是在代码中加入一个简单的语句打印出来,如果JavaScript没能捕获你的错误,你也没有通过查看代码发现错误...
以下是一些最常见的JavaScript错误及其解决方案: 1. **错误:for..in遍历数组** 当使用`for..in`循环遍历数组时,这不是一种推荐的方法,因为它不保证顺序,并可能因自定义的Array.prototype方法导致额外的遍历。...
JavaScript 调试方法以及常见错误 JavaScript 调试方法是一个非常重要的知识点,对于前端开发者来说尤为重要。由于 JavaScript 没有一个被广泛认可的开发环境,因此代码的编写、调试和后期的维护变得非常困难。 在...
JavaScript 错误是编程过程中常见的问题,特别是在开发交互式网页应用时。这些错误可能会导致程序崩溃或者用户体验下降。以下是一些常见的 JavaScript 错误类型及其解决方法,结合了给定的文件内容进行详细解释: 1...
在实际开发中,常见的错误和编码规范是确保代码质量和兼容性的重要因素。以下是一些关于JS开发的关键知识点和技巧: 1. **浏览器兼容性**: - 避免使用特定浏览器的特有API,例如IE的`document.all`,它不被其他...
常见错误一:对于this关键词的不正确引用 常见错误二:传统编程语言的生命周期误区 常见错误三:内在泄露 常见错误四:比较运算符 常见错误五:低效的DOM操作 常见错误六:在for循环中的不正确函数调用 常见错误七:...
7. **AJAX和JavaScript错误**:使用jQuery、JavaScript或AJAX技术时,前端错误可能会影响用户体验。确保脚本引用正确,DOM操作无误,以及跨域请求和JSON格式化遵循标准。 8. **异常处理**:有效的异常处理是任何...
这个"javascript常见代码合集"包含了一系列实现常见效果的JavaScript代码示例,可以帮助开发者理解和学习JavaScript的基础以及进阶功能。 1. **变量与数据类型**: JavaScript支持基本数据类型(如字符串、数字、...
类型错误是另一类常见的BUG来源。JavaScript是一种动态类型语言,变量的类型在运行时才确定。这意味着,JavaScript允许在表达式中进行不一致的类型操作,这可能会导致不明确或错误的结果。虽然JavaScript引擎会在...
2. **客户端监听**:在JavaScript中,可以利用`window.onerror`事件监听全局JavaScript错误。此外,对于Ajax请求,可以使用`XMLHttpRequest`或`fetch`的错误回调来处理。 3. **日志分析**:配置日志系统,收集...
以下是一些常见的WEB开发错误类型及其详细解释: 1. **HTTP状态码错误**:这些错误通常以三位数字表示,如404(未找到)、500(服务器内部错误)等。它们反映了客户端与服务器之间的通信问题。 2. **语法错误**:...
该镜像仓库汇集了《中国程序员容易发音错误的单词》相关源码,包含24个文件,涵盖JavaScript、HTML、Shell、CSS、Python等多种编程语言。文件类型包括7个JavaScript文件、5个Markdown文件、3个PNG图像文件、3个JSON...
- **运行时错误**:这类错误发生在程序运行的过程中,常见的例子包括类型错误、引用错误等。 - **逻辑错误**:这类错误是指程序逻辑不符合预期的情况,这种错误可能不会导致程序立即崩溃,但会导致程序的行为不符合...
在JavaScript中,常见的设计模式包括: - 单例模式:确保一个类只有一个实例,并提供全局访问点。 - 工厂模式:创建对象时避免使用new操作符,提供更灵活的实例化过程。 - 观察者模式:定义对象间的一种一对多...
JavaScript错误处理是编程中至关重要的一个环节,它确保了程序在遇到问题时能够优雅地运行,而不是突然崩溃。本文将详细介绍JavaScript中常见的错误处理机制、错误类型及其处理方法。 首先,我们关注的是`try-catch...
在学习JavaScript的过程中,新手开发者常常会犯一些影响学习进度和效果的常见错误。这篇文章中列举的九个错误,是学习者在学习JavaScript时经常会遇到的问题,理解并避免这些错误对于提升学习效率、巩固编程基础以及...
### JavaScript错误代码详解 #### 一、Uncaught ReferenceError 错误分析与解决方法 在JavaScript编程中,经常会遇到各种各样的错误,其中`Uncaught ReferenceError`是一种常见的错误类型,通常表示尝试访问一个未...
课程-调试和修复常见JavaScript错误 调试JavaScript 常见JavaScript怪癖 问题: ' :smiling_face_with_smiling_eyes: '.length答案:A2 说明:String.prototype.length返回字节数,而不是字符数。 Unicode字符(如...
这个名为"JavaScript方法、错误、属性等等详解.rar"的压缩包文件,显然是一个深入探讨JavaScript编程的资源,包含了一个名为"JavaScript.chm"的帮助文件,这种文件格式通常用于组织和呈现技术文档,方便用户查阅。...