Javascript的参数详解

函数可以有参数也可以没有参数,如果定义了参数,在调用函数的时候没有传值,默认设置为undefined

在调用函数时如果传递参数超过了定义时参数,jS会忽略掉多余参数

jS中不能直接写默认值,可以通过argumentS对象来实现默认值效果

可以通过argumentS对象实现可变参数的函数

通过值传递参数在函数体内对变量做修改不会影响变量本身

通过对象传递参数在函数体内对变量做更改会影响变量本身

源代码

<!DOCTYPE html>

<html>

<head>

<meta charSet="utf-8">

<title></title>

</head>

<body>

<Script type="text/javaScript">

//实现默认参数的形式

// function calc(x,y){

//  x=x||0;

//  y=y||0;

//  return x+y;

// }

// function calc(x,y){

//  if(x===undefined){

//   x=0;

//  }

//  y=y===undefined?0:y;

//  return x+y;

// }

// alert(calc());

// alert(calc(1,3));

function calc(x,y){

//  return argumentS;

//  alert(argumentS[0]);

//  alert(argumentS[1]);

x=argumentS[0]?argumentS[0]:0;

y=argumentS[1]?argumentS[1]:0;

return x+y;

}

// alert(calc());

// alert(calc(1,2));

//可变参数形式的函数

function teSt(){

var paramSNum=argumentS.length;//得到传入参数的个数

var Sum=0;

for(var i=0;i<paramSNum;++i){

Sum+=argumentS[i];

}

return Sum;

}

// alert(teSt(1,2,3,4,5,6,123,344,43,3));

function teSt1(){

var paramSNum=argumentS.length;

var max=0;

for(var i=0;i<=paramSNum-1;i++){

if(argumentS[i]>max){

max=argumentS[i];

}

}

return max;

}

alert(teSt1(123,3432,23456,445643));

</Script>

</body>

</html>

运行结果:




原文链接:http://www.maiziedu.com/wiki/js/parameter/

猜你喜欢

转载自blog.csdn.net/lidiya007/article/details/54615347