详解javascript函数的参数

javascript函数可以用任意多个参数来调用,而不用管函数定义时指定了几个参数。因为函数是弱类型的,没有方法去声明它所期望的参数类型,并且给任何函数传递任何类型的值都是合法的。

1.Js函数可以传入不同的参数,如

function writeNString(strMsg){
document.write(strMsg + "<br>");
}

2.Js函数返回值,js函数可以将运行的结果返回,函数可以视为一个黑盒子,使用参数输入数据后产生所需的运行结果,如

function one2N(intnumber){
var intTotal = 0;
for(var i=0;i<=intnumber;i++){
 intTotal +=i;}
return intTotal;
}

3.Js函数的传值和传址参数

传值:只是将变量的值传入函数,函数会另外配置内存保存参数值,所以并不会改变原变量的值。

传址:将变量实际保存的内存位置传入函数,所以如果在函数中变更参数的值,也会同时变动原参数的值。

数字、字符串和布尔----传值

对象、数组和函数----传址

字符串对象-------传址

4.Js函数的参数数组

Js的函数都拥有一个参数数组(Arguments Array)对象,叫做arguments对象。当调用函数传入参数时,函数即使没有指明参数名称,也一样可以使用参数数组的对象获取参数的个数和个别的参数值。

function sumInteger(){
 var total = 0;
 for(var i=0; i<sumInteger.arguments.length;i++){
  total += sumInteger.arguments[i];
  }
  return total;
}
//调用函数
inntotal = sumInteger(100,45,567,234);
document.write("函数sumInteger(100,45,567,234):"+inttotal+"<br>");

5.JS函数的变量范围

JS函数有两种变量:

局部变量(local Variables)在函数内声明的变量,变量只能在函数内的程序行内使用,函数外的程序代码并无法访问此变量。

全局变量(Global Variables)在函数外声明的变量,整个JS程序的函数和程序代码都能访问此变量。