Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158601
  • 博文数量: 73
  • 博客积分: 3106
  • 博客等级: 中校
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-11 22:57
文章分类

全部博文(73)

文章存档

2018年(2)

2016年(1)

2012年(8)

2011年(21)

2010年(41)

我的朋友

分类: Java

2010-08-30 23:33:16

JavaScript的函数
  • 函数的定义:函数是由关键字function、函数名加一组参数已经置于大括号中需要执行的一段语句定义的。语法:

<script language="javascript">
 function functionName(parameters){
    some statements;
}
</script>

注:函数的定义语句通常被放在HTML文件的段中,而函数的调用语句通常被放在段中。
  • 在事件响应中调用函数:当用户单击某个按钮或某个复选框时都将触发事件,通过编写程序对事件做出反应的行为称为相应事件。

<script language="javascript">
function test(){
    alert("test") }
</script>
</head>
<body>
<form action="" methon="post" name="form1">
<input type="button" value="提交" onClick="test();">
</form>
</body>

<script language="javascript">
    function test(){
        alert("test");
</script>
</head>
<body>
<a href="javascript:test();">test</a>
</body>

function testArgs(){
    for(var i=0;i<arguments.length;i++){
        document.write("函数参数的个数为:"+arguments.length+"运行结果为:"+arguments[i]+"。")}
}

注:
  1. arguments[0]即为第一个参数,不是函数的名称。
  2. 函数定义的时候形式参数可以省略。
  • JavaScript中的内置函数
  1. eval():求字符串中表达式的值。
  2. isFinite():判断一个数值是否为无穷大。
  3. isNaN():判断一个数值是否为NaN。
  4. parseInt():将首位为数字的字符串转化为整型,如果字符串不是以数字开头,则返回NaN。
  5. parseFloat():将首位为数字的字符串转化为浮点型数字,如果不是以数字开头,则返回NaN。
  6. encodeURI():将字符串转化为有效的URL(URI和URL都可以表示网络资源地址,URI比URL的表示范围更加广泛)。
  7. encodeURIComponent():将字符串转化为有效的URL组件。
  8. decodeURI():对encodeURI()编码的文本进行解码。
  9. DecodeURIComponent():对encodeURIComponent()编码的文本进行解码。
JavaScript的异常处理
注:一个程序通常有3种类型的异常,分别为“语法异常”、“运行时的异常”和“逻辑异常”。
  • IE浏览器内建的错误报告:IE浏览器自能发现程序中的语法错误,对于程序中的逻辑错误还不能发现。【"工具"/"Internet选项"-->"浏览"选择"显示每个脚本错误的通知"】
  • 处理异常:JavaScript语言处理异常通常有两种方式。一种方式是使用onerror事件,该事件可以在window对象或图像对象上触发,而另一种方式是使用try...catch...finally模型。
     1) 触发onerror事件处理异常:onerror事件处理异常提供了3中信息来确定发生异常的详细信息:
         1.异常信息:获取异常信息(ms)
         2.URL:获取发生异常的文件的绝对路径。(Url)
         3.行号:给定发生异常文件的行号。(Line)
window.onerror:触发onerror事件

<script language="javascript">
    window.onerror=function(){
        alert("您调用的函数不存在\n"+ms+"\n"+Url+"\n"+Line+"\n");
        return true;
}
</script>

   注:如果在onerror事件处理函数中没有return true语句,在弹出错误提示对话框后,浏览器的错误报告也会显示出来。为了隐藏此错误报告,函数需要返回true.
document.images[0].onerror

<script language="javascript">
      document.images[0].onerror=function(){
        somestatements;
        return true;
}
</script>


    2)使用try...catch语句处理异常:

<script language="javascript">
    try{
        somestatements;
    }
    catch(exception e){
        somestatements;
    }finally{
        somestatements;
    }
</script>

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语句中:

throw new TypeError("somestatements");

  • JavaScript语言调试技巧:
  1. 使用aler()语句进行调试。
  2. 使用write()语句进行调试,将所有的调试信息以列表的方式放置在页面中。
  3. 使用抛出自定义异常消息进行调试。
阅读(937) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~