JavaScript的函数和异常处理
    JavaScript的函数和异常处理 
2010年08月30日  
[/b][b]JavaScript的函数: 
  函数的定义:函数是由关键字function、函数名加一组参数已经置于大括号中需要执行的一段语句定义的。语法:    
  function functionName(parameters){ 
  some statements; 
  } 
   注:函数的定义语句通常被放在HTML文件的段中,而函数的调用语句通常被放在段中。 
  在事件响应中调用函数:当用户单击某个按钮或某个复选框时都将触发事件,通过编写程序对事件做出反应的行为称为相应事件。    
  functiontest(){ 
  alert("test")}                   
   通过链接调用函数:在标签中的href标记中使用javascript:关键字调用函数。    
  functiontest(){ 
  alert("test");          
  test 
   arguments对象:在JavaScript函数代码中,可以使用arguments特殊对象,可以使用arguments[0]访问函数的第一个参数值,使用arguments[1]访问函数第二个参数值,...同时还可以使用arguments.length获取函数的参数个数: 
  function testArgs(){ 
  for(var i=0;i"浏览"选择"显示每个脚本错误的通知"】 
  处理异常:JavaScript语言处理异常通常有两种方式。一种方式是使用onerror事件,该事件可以在window对象或图像对象上触发,而另一种方式是使用try...catch...finally模型。 
  1) 触发onerror事件处理异常:onerror事件处理异常提供了3中信息来确定发生异常的详细信息: 
  1.异常信息:获取异常信息(ms) 
  2.URL:获取发生异常的文件的绝对路径。(Url) 
  3.行号:给定发生异常文件的行号。(Line) 
  window.onerror:触发onerror事件    
  window.onerror=function(){ 
  alert("您调用的函数不存在\n"+ms+"\n"+Url+"\n"+Line+"\n"); 
  returntrue; 
  } 
      注:如果在onerror事件处理函数中没有return true语句,在弹出错误提示对话框后,浏览器的错误报告也会显示出来。为了隐藏此错误报告,函数需要返回true. 
  document.images[0].onerror    
  document.images[0].onerror=function(){ 
  somestatements; 
  returntrue; 
  } 
       2)使用try...catch语句处理异常:    
  try{ 
  somestatements; 
  } 
  catch(exception e){ 
  somestatements; 
  }finally{ 
  somestatements; 
  }    
  try...catch...finally语句中catch通常捕捉到的对象为Error对象,Error类是所有用于抛出异常的雷德基类,JavaScript中用于抛出异常的类如下所示: 
  类  发生异常原因  
  EvalError  错误发生在eval()函数中  
  RangeError  数字的值超出JavaScript可表示的范围  
  ReferenceError  使用了非法的引用  
  TypeError  变量的类型错误  
  URIError  在encodeURI()函数或decodeURI()函数中发生了错误  
  Error对象有以下两个特性: 
  1.name:表示异常类型的字符串。 
  2.message:实际的异常信息。 
  alert("实际的错误消息为:"+exception.message+"\n错误类型字符串为:"+exception.name); 在程序中使用throw语句可以有目的的抛出异常,throw一般可以在try语句中: 
  thrownew TypeError("somestatements"); JavaScript语言调试技巧: 
  使用aler()语句进行调试。 
  使用write()语句进行调试,将所有的调试信息以列表的方式放置在页面中。 
  使用抛出自定义异常消息进行调试。 
  发表于: 2010-08-30,修改于: 2010-08-30 23:33 已浏览2次,有评论0条 推荐 投诉    
[/b][b]