Technorati 标签: javascript, 函数

一、全局函数

    1、Number(object)

    此函数尝试将 object 转化为数字,类似于java 的 parseInt ,parseDouble 等,如果转换失败,返回 NaN。

    Demo:

   1: <script language="javascript">
   2:     var num1 = "1";
   3:     var num2 = "2";
   4:     var strNum = num1 + num2;    //输出 “12”
   5:     alert(strNum);
   6:     
   7:     var intNum1 = Number(num1);
   8:     var intNum2 = Number(num2);
   9:     var intNum = intNum1 + intNum2;    //输出 3
  10:     alert(intNum);
  11: </script>

    2、String(object)

    与Number(object)刚好相反,String(object)将 object 转换为一个字符串。

   1: <script language="javascript">
   2:     var intNum1 = 1;
   3:     var intNum2 = 2;
   4:     var intNum = intNum1 + intNum2;
   5:     alert(intNum);
   6:     
   7:     var strNum1 = String(intNum1);
   8:     var strNum2 = String(intNum2);
   9:     var strNum = strNum1 + strNum2;
  10:     alert(strNum);
  11: </script>

    3、isNaN(object

    此函数用来判断 object 是不是一个数字(或者是否可以转换为一个数值),如果 object 不是数值,将返回true,否则返回 false。

    Demo:

   1: <table border="1">
   2: <tr>
   3:     <th>Function</th>
   4:     <th>Result</th>
   5: </tr>
   6: <script type="text/javascript">
   7:     document.write("<tr><td>isNaN(1)</td>");
   8:     document.write("<td>" + isNaN(1) + "</td></tr>");
   9:     document.write("<tr><td>isNaN(\"1\")</td>");
  10:     document.write("<td>" + isNaN("1") + "</td></tr>");
  11:     document.write("<tr><td>isNaN(0/0)</td>");
  12:     document.write("<td>" + isNaN(0/0) + "</td></tr>");
  13:     document.write("<tr><td>isNaN(\"java\")</td>");
  14:     document.write("<td>" + isNaN("java") + "</td></tr>");
  15:     var str = "abc";
  16:     document.write("<tr><td>isNaN(abc)</td>");
  17:     document.write("<td>" + isNaN(str) + "</td></tr>");
  18:     var intAge = 12;
  19:     document.write("<tr><td>isNaN(intAge)</td>");
  20:     document.write("<td>" + isNaN(intAge) + "</td></tr>");
  21: </script>
  22: </table>

   输出如下:

  image

    4、parseFloat(object) 与 parseInt(object)

    此两个函数分别尝试将 object 转为 float 类型或 int 类型,如果变量时以数值开头的,parseFloat()会将其捕获到的第一个浮点型数值转换为 float 类型,parseInt 会捕获到的第一个整型数据转化为 int 类型。如果变量不是以数值开始的,这两个函数都返回 NaN。

    Demo:

   1: <script type="text/javascript">
   2:     var distance = "100.23 meters";
   3:     document.write("<tr><td>parseFloat(distance)</td>");
   4:     document.write("<td>" + parseFloat(distance) + "</td></tr>");
   5:     document.write("<tr><td>parseInt(distance)</td>");
   6:     document.write("<td>" + parseInt(distance) + "</td></tr>");
   7:     var name = "tianya";
   8:     document.write("<tr><td>parseFloat(name)</td>");
   9:     document.write("<td>" + parseFloat(name) + "</td></tr>");
  10:     document.write("<tr><td>parseInt(name)</td>");
  11:     document.write("<td>" + parseInt(name) + "</td></tr>");
  12: </script>

    输入如下:

image

二、自定义函数

    1、函数就是一组 js 语句,并且作为一个基本单元来支持。要使用函数,首先需要定义它,格式如下:

   1: function fnName(){
   2:     ....
   3: }

    Demo:

   1: function Hello(user){
   2:     alert("Hello, " + user);
   3: }
   4: </script>
   5:  
   6: </head>
   7: <body>
   8:     <button οnclick="Hello(this.value)" value="Mike">Mike</button>
   9: </body>

   2、函数返回值

    在 javascript 里并不需要指定返回值的类型,但却可以在函数里添加 return 语句作为函数的返回值。如计算两个数的平均值 function average(num1,num2);可以在函数里使用 return (num1 + num2)/2;作为其返回值。完整代码如下:

   1: function average(num1,num2){
   2:     return (num1 + num2)/2;
   3: }

    返回值得使用,如下:

   1: <title>JavaScript Page</title>
   2: <script type="text/javascript">
   3:     function average(num1,num2){
   4:         return (num1 + num2)/1;
   5:     }
   6: </script>
   7:  
   8: </head>
   9: <body>
  10:     <script type="text/javascript">
  11:         result = average(5,6);
  12:         document.write("the average is " + result);
  13:     </script>
  14: </body>