你的位置:首页 > Java教程

[Java教程]javascript基础学习(五)


javascript之函数


学习要点:

  函数的介绍

  函数的参数

  函数的属性和方法

  系统函数

一、函数的介绍

  1.函数就是一段javascript代码。可以分为用户自定义函数和系统函数。

    如果一个函数是javascript内置的函数,就称为系统函数。如果函数是自己编写的函数,就是自定义函数。

  2.在javascript用function来定义一个函数。function 函数名(参数1,参数2,...){<语句块>  return 返回值} (PS:return语句可以省略)

  3.函数的嵌套定义,只能出现在函数中,不能出现在选择语句或循环语句中。

  4.除了使用function语句定义函数,还可以使用Function()构造函数来定义函数。语法代码如下:

  var 函数名=new Function(”参数1“,”参数2“,...,”函数体“);如:var mySum=new Function("x",”y","return x+y");

  ps:Function()构造函数和function语句定义函数的区别:

    Function()构造函数可以动态定义和编译函数,而function语句只能预编译函数。在每次调用Function()构造函数定义的函数时,javascript都要去编译一次该函数。因此,对于经常使用的函数,应避免使用Function()构造函数来定义函数。

  还可以在表达式中定义函数:var 函数名=function(参数1,参数2,...){函数体}; 如:var mySum=function(x,y){return x+y};

二、函数的参数

   1.传递的参数类型和函数中所需要的数据类型不符

function myFun(x,y){  var z=x*y;return z;}document.write(myFun(2,4)+"<br>");//8document.write(myFun(2,"s")+"<br>");//NaN

  2.传递的参数个数与函数定义的参数个数不匹配

  如果传递的参数个数小于函数定义的参数个数,会将多余的参数值设为undefined。如果传递的参数个数大于函数定义的参数个数,多余的参数将会被忽略掉。

  3.在javascript中,提供了一个arguments对象,该对象可以获取实际传递过来的参数,并将这些参数放在arguments[]数组中。

   argements对象除了可以判断实际传递的参数个数,还可以获取实际传递参数的值。

   ps:虽然arguments可以作为数组来使用,但是arguments并不是一个数组,而是一个对象。

三、函数的属性和方法

  函数也是一个对象,也拥有自己的属性和方法。

  1.length属性:获取函数定义参数个数。

   arguments对象拥有一个callee属性,该属性的作用是引用当前正在执行的函数。

     arguments.length(获取实际参数个数)    与   arguments.callee.length(获取函数定义个数)

  2.prototype属性:引用原型对象

function pen(color,price){  this.color=color;  this.price=price;} var pen1=new pen("红色",21);pen.prototype.name="钢笔”;document.write("笔的颜色是:“+pen1.color+"<br>"); //红色document.write("笔的价格是:“+pen1.price+”<br>"); //21document.write("笔的名称是:“+pen1.namer+"<br>");//钢笔

四、系统函数

  1.编码函数escape():将字符串中的非文字、数字的字符如&、%、$转换成相应的ASCII码值。

  2.解编码函数unescape():将ASCII码的文字转换为一般文字。

  3.求值函数eval():将字符串指定为对象。

function pen(color,price){  this.color=color;  this.price=price;} var pen1=new pen("红色",21); var pen2=new pen("蓝色",20); var pen3=new pen("粉色",21);for(i=1;i<4;i++){var penx=eval("pen"+i);document.write("笔的颜色是:“+penx.color+"<br>"); document.write("笔的价格是:“+pen1.price+”<br>"); }

  4.数值判断函数isNaN():判断变量是否为数值型变量。

  5.parseInt():将数据转换为整数。在将二进制、八进制、十六进制转化为十进制。其中,二、八、十六进制数据必须是字符串型。

  6.parseFloat():将字符串数据转换为浮点数。