比如有个定义函数是 js(x,y,z){} 我想向他只传递y参数,其他不变,应该怎么做?

JavaScript016

比如有个定义函数是 js(x,y,z){} 我想向他只传递y参数,其他不变,应该怎么做?,第1张

在Javascript中, 函数定义的参数个数, 与调用时传入的参数个数,是可以不同的.

一般情况下,在定义函数时,将必须传入的参数放在前面, 可选的参数放在后面.在函数体内部需要对参数的传入情况作判断,以防参数不存在时程序出错.

例如

function js(x, y, z) {

this.x = x || 0

this.y = y || 0

this.z = z || 0

}

调用时可以传入0-3个参数都不会出错,但传参的顺序是已经定了的.

比如:

var A = new js() //A.x=0, A.y=0, A.z=0

var A=new js(5, 3) //A.x=5, A.y=3, A.z=0

如果只想传递参数y, 则必须传递两个参数,其中第一个可传入null或0

如x是可选y是必选,建议在定义函数时改变形参的顺序

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

<script language="javascript">

function list_num(a,b,c,d,e,f,g,h){

var arr = new Array(8)

arr[0] = a

arr[1] = b

arr[2] = c

arr[3] = d

arr[4] = e

arr[5] = f

arr[6] = g

arr[7] = h

document.write("数组【",arr,"】从小到大排列为:")

for(var i = 1i <arr.length i++){

for(var j = 0j <i j++){

if(arr[j] >arr[i]){

temp = arr[j]

arr[j] = arr[i]

arr[i] = temp

}

}

}

document.write(arr)

}

list_num(20,15,13,21,35,11,10,22)

</script>