解决方案 »
- jquery 是否兼容 ipad safari浏览器
- 见识求问贴关于EXTJS及国产类似
- IE7中window.open方法不能打开指定大小窗口?
- 简单正则,大家帮帮忙,急用,谢谢了
- 用js输出的position在IE下不能浮动
- 关于正则表达式
- 求!我要在<script language="JavaScript">写ASP代码
- 用javascript 让一个输入框的背景为灰色,为什么不能用 输入框.style.background-color = "#cccccc"
- innerHTML与outerHTML各是什么意思,有什么区别啊?
- 我的interDev在遇到错误时不能自动打开调试了我该怎么才能让他工作呢
- KindEditor自定义弹出框架页面,怎样得到返回值
- 关于javascript寄生组合式继承的一点问题,望赐教
var f = function(v){
return function(){
if(v == 10){
Ext.Msg.hide();
//alert(v);
Ext.Msg.alert("完成","所有项目加载完成");
}else{
var i = v/10;
//alert(i);
Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
}
}
} for(var i = 1;i<11;i++){
setTimeout(f(i),i*500);//为什么只有用return function的时候才能完整的调用呢,如果去掉return则只显示alert
}
如上面的这个,为什么去掉return function就直接显示的else的内容,没有经过循环呢??
function a(){
return function(){
alert("b是函数");
}
}
var b = a();
b();
第一个参数是要调用的函数或js代码串! 并不是一个函数值;setTimeout(function(){alert(1)},500);
if(v == 10){
Ext.Msg.hide();
Ext.Msg.alert("完成","所有项目加载完成");
}else{
var i = v/10;
Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
}}for(var i = 1;i<11;i++){
setTimeout(f(i),i*500);//为什么只有用return function的时候才能完整的调用呢,如果去掉return则只显示alert
}
是extjs方法内的一些问题! 具体的我也不太清楚! 记得以前看过一个文章,说注意setTimeout()中的一些陷阱, 貌似这个函数有一些其它的问题会和某些代码冲突! 我记得当时看人家建议这么写!setTimeout((function(){alert(1)})(),500);这就相当于一个自执行函数返回一个函数!function a(){
return function() {
alert(1)
}
}
setTimeout(a(),500);貌似跟什么表达式啊 语句啊什么的有关! 不过好久之前看的 有点忘了!
你这么写试试好使不if(v == 10){
Ext.Msg.hide();
Ext.Msg.alert("完成","所有项目加载完成");
}else{
var i = v/10;
Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
}
for(var i = 1;i<11;i++){
setTimeout((function(){
if(v == 10){
Ext.Msg.hide();
Ext.Msg.alert("完成","所有项目加载完成");
}else{
var i = v/10;
Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
}
})(),i*500);
}
b=function(){
xxxxx;
}
//所以直接 b()就可以了