javascript编程起步(第七课)

  过年到现在一直都比较忙,辜负大家了.

  今天就学习函数吧,虽然语句还没有说完.

  函数是javascript语言的一个很重要的内容,但也很复杂.

  下面来看看javascript函数.

  函数是有function加函数名和一对带有参数括号,以及大括号组成的,其中大括号里是

  主体javascript语句.

  例:

  function hanshuname(js) //hanshuname是函数名.

  {

  document.write(js,"<br>"); //是函数的主体语句.

  }

  函数可以嵌套,如下:

  function qiantao(a,b){

  function lqiantao(x){return x*x;}

  return Math.sqrt(lqiantao(a)+lqiantao(b));

  }

  函数还可以作为数据来应用,因此可以象处理其他数据那样来处理函数,如:赋值,存储,传递等.

  例:

  function zhi(x){return x*x;}

  实际上,函数名没有什么意义,不过是保存函数的变量名而已.

  a=zhi(6);//a存放的是数字36;

  b=zhi;//现在b和zhi引用同一个函数.

  c=b(5);//c存放的是数字25.

  在一个函数体内,标识符arguments总是具有特殊含义,它是调用对象的一个特殊属性,用来引用实际参数对象.这个实际参数对象具有大量有用的属性.除此之外,它还兼有数组的角色.

  尽管定义javascript函数时都有固定的参数,但调用这个函数时,传递给它的参数数目却可以是任意的,数组arguments[]允许完全存取那些实际参数值.另外,arguments有一个length属性,看如下例子:

  function zhi(x,y,z)

  {

  if(arguments.length !=3){

  alert("function zhi called with"+arguments.length+"arguments,but it expects 3 arguments.");

  return null;

  }

  }

  数组arguments[]还为javascript函数开发了一项重要的可能性,既可以将函数编写为能够接受任意数目的实际参数.

  function zhi()

  {

  var m=Number.NEGATIVE_INFINITY;

  //遍历所有参数

  //检索并记忆最大的一个.

  for(var i=0;i<arguments.length;i++)

  if(arguments>m)m=arguments;

  //返回最大的参数值.

  return m;

  }

  var lazgest=zhi(1,10,100,2,3,1000,4,5,10000,6);

  也可以使用arguments[]数组来编写一个函数.

  调用js函数

  <a href=”#” onClick=”functionName()”>Link text</a>

  <a href=”javascript:functionName()”>Link text</a>

  今天先说到这儿吧,下节继续说函数.