免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1931 | 回复: 0
打印 上一主题 下一主题

如何运行和调试 JavaScript 脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-09 20:14 |只看该作者 |倒序浏览
1.下面是一个简单的 JavaScript 代码运行调试框。代码运行效果如图 3.50 所示。
代码运行调试框

body{overflow:hidden;margin:0px}
textarea{width:100%;height:95%}
body,textarea,button{font:normal 12px Tahoma;color:#333333}


function runCode(){
with(open()){
opener=null
document.write(code.value)
document.close()
}
}
function Command(cmd){
code.select()
document.execCommand(cmd)
}


运行代码 复制代码 粘贴代码
2.一般性程序错误。
1) 函数名、变量名和对象名拼写错误
因为 JavaScript 是一种严格区分大小写的语言,所以一般的拼写错误都是大小写拼写错误生成的。这个是 VB 程序员编写JavaScript程序时最容易犯的错误。避免的办法是养成对函数名、变量名和对象名的好的命名习惯。例如,下面的代码将不能正常运行:

window.open("
http://www.flash8.net
")

2) 使用了保留字。
JavaScript 脚本中使用了一部分字符串作为保留字,所以如果变量名中用到了这些保留字,将可能导致莫名其妙的错误。如果程序出错而又找不到语法错误时,可以试着把有嫌疑的变量改名,如果运行成功,则说明是跟 JavaScript 脚本的保留字有冲突。例如,下面的代码将不能正常运行:

var new=5
alert(new)

3) 还有一个最容易犯的错误就是在逻辑判断时只用一个等号,这样的程序在大部分情况下也能正常运行,但有可能完全不是你所要的效果。例如,下面的代码虽然能正常运行,但运行结果明显不正确:

var i=5
if(i=6)alert(i)
else alert("false")

3.捕获错误。
1) 一般来说,脚本有错误时IE的状态栏左下角出现一个惊叹号,双击后会有关于脚本的错误提示。如图 3.51 所示。
2) 然而并非所有的错误IE都能捕获,这时我们就要自己捕获错误了。下面代码的运行效果如图 3.52 所示。

try{
Window.open("
http://www.flash8.net
")
}
catch(e){
var errStr="脚本错误提示:\t\t\t\t\t\n"
for(i in e)
errStr+=i+":"+e+"\n"
alert(errStr)
}

3) 错误虽然能找到,但所报的错也不一定完全正确,这时需要我们自己手工找错,逐渐缩小错误范围。通常的做法是在可疑代码行前后各加一个弹出警告框的语句,如果运行结果是弹出两个警告框,则该行代码没有问题,否则就是有错。
4.修正错误。找到错误所在后需要进行修正,这时也需要注意一些技巧。
1) 在尝试修正前最好先备份原代码。有些错误是很难修正的,有时还有可能是越改越错,所有备份原代码是非常重要的。
2) 逐个修正。有时错误可能不止一个,但最好不要尝试一次性全部修正,这样可能会导致更多的错误。所以,最好的办法是一个一个的修正,调试确定无误后再继续修正其它的错误。
3) 保持清醒的头脑。如果长期无法修正一个错误,这时最好休息一下,等思路清晰后再回头看。
4) 请求帮助。所谓旁观者清,自己难以发现的错误原因,在别人看来很可能是非常易见的,因为一个的的思维定势影响了你的分析能力。这时,你可以请朋友或者直接到技术论坛上求助。
5.忽略错误。有些错误是意料之中的,而且没必要对它进行处理,这时就可以忽略错误。
1) 用 window.onerror 捕获错误,并且返回真,如:

return true

2)用 try 语句捕获错误,但不作处理,如:

function demo(){
try{
alert1()
}
catch(e){}
}

test
特别提示
例中所提到的图片如下。
图 3.50 代码运行调试框
图 3.51 IE捕获的脚本错误信息
图 3.52自己捕获的脚本错误信息
特别说明
本例的主要知识点在于对错误的捕获,其中用到了 try 语句。
try...catch...finally 语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JavaScript 只给用户提供它的普通错误消息,就好象没有错误处理一样。
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/shishaomeng/archive/2009/01/17/3815331.aspx


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104536/showart_2090191.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP