函数有一个属性,就是arguments,arguments 数组含有调用函数时传递给函数的参数。结合类型检测,就可以构建可选参数个数的函数了。
function demo(){
// arguments 数组含有调用函数时传递给函数的参数
var argCount=argumentslength;
switch(argCount)
{
case 0: // 0 个参数情况下
// 执行代码
break;
case 1: // 1 个参数情况下
var arg1=arguments[0];
// 执行代码
break;
case 2: // 2 个参数情况下
var arg1=arguments[0],arg2=arguments[1];
// 结合typeof和constructor来检测参数类型
// 执行代码
break;
default: // 其它情况下
break;
}
}#includevoid main(){ int sum(int a[],int length); int a[11] = {1,2,1,4,1,6,1,6,1,21,1}; printf("%d",sum(a,11));}int sum(int a[],int length){ int i,sum=0; for(i=0;i这个是不可以的。
你是不是使用了setTimeout函数双线程运行函数,然后在运行该函数的时候,过快的重复进行 *** 作,然后便出现了运行错误呢?
这个现象我有一套解决方案,就是动态地改变触发,在setTimeout运行的那个自定义函数一开始,把相关的触发换为空,比如有一个onclik="fun()",那么在这个自定义函数中开始写上一行:XXXonclick=function(){}; 这样的话,就不会再被过快的 *** 作触发它了。然后要记得在这个自定义函数的末尾写是一行:XXXonclik=function(){fun()};才可以,否则一但运行一次之后,这个触发就再不存在了。
或许会有更好的办法来解决这个问题,但现在我一直没有找到。如果有后来的朋友能有更妙的招,我也在这里好好学习一下了。
如果你只是想让它提示正在运行,那么根据我上述的方法,也就有了解决方案。
我想,如果你只是想让它提示正在运行,而不用触发机制就提示相关的提示框的话,只要在这个函数的开始写上:alert('正在运行'); 就可以了。
如果你想通过点击等方法实现,比如用户过快地按这个按钮的话,你就可以不写那个空onclick函数,而是写上:XXXonclick = function(){alert('正在运行!')};,就把问题搞定了。
吼吼!
不知道我所说的是不是你正面临的问题,不过这个问题可是困扰了我好长时间,所以印象深刻,看到你的问题就首先猜到了这种情况,如果不是这个现象的话,欢迎把你的问题再清楚地描述一下,发个追问。function get_arr(starer, n){// starer 从多少开始 N 返回数组元素数
var ret_arr=[]; // 声明一个空的数组
for (var i=starer,i<starer+n+1; i++){ // 从开始数开始循环 到starer+n+1 结束
ret_arrpush(i); //将 I的值压入数组最后
}
return ret_arr //返回这个数组
}在一个js文件里面定义函数,比如function
a
(){}
然后在另一个js文件里面直接调用a();
但是在html中引入文件的时候,定义函数的那个js文件要在调用的那个js文件的前面引入
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)