形参从外部引入实参我明白,可是像这种
function rndNum(min,max){
return Math.floor((Math.random()*(max-min+1))+min);
}
没有任何赋值,也没有传入参数,究竟是怎样运行的?
function rndArr(min,max,len){
var arr = [];
for (var i=0;i<len;i++) {
var r = rndNum(min,max);
if(arr.indexOf(r) < 0){
arr.push(r);
}else{
//len++;//
i--;//
}
}
还有这个也是,这里的参数究竟是什么意义?
这些函数肯定在被调用的时候会赋予实参,如果是单独这样一个函数,没有调用,是出不来结果的。
比如第一个函数下面加个:rndNum(1,10);就能出现结果了。
这叫做函数定义.
建议你先去找一个简单的语言学吧,建议python,入门比较简单.Java也不错.
你搜一下“形参”也就是形式参数,还有“实参”也就是实际参数。。。
给你打个比方吧,函数相当于一个模板,一个模板自己是不会产生成果的,你需要向母板放材料也就是(实参),模板利用你的实参放进模板的空间(形参)来产生成果(结果)!
这个是形参,然后你调用函数的时候就会传入一个实参进去,比如rndNum(1,10),你上面那个函数只是一个定义了一个方法,然后你需要去调用
这需要调用该函数,并传给它参数才可以运行
这种函数是不会独立运行的!再调用该函数的时候会对其进行传参,到时候就能运行了。
这和Java类似,在调用的方法的时候会传值过来,类似于这种:
1 <body> 2 <input type="text" onclick="rndNum(3,4)"> 3 </body> 4 <script type="text/javascript"> 5 6 function rndNum(min,max){ 7 alert(Math.floor((Math.random()*(max-min+1))+min)); 8 } 9 10 </script>