var times=11;
function showBtn()
{
var btnObj=document.getElementById('btnReg1');
while(times>0)
{
times--;
btnObj.value="开始("+times+")";
window.setTimeout("showBtn()", 1000);
return false;
}
}我用按钮调用这个 方法 执行正常 可以倒数 如果以上方法中 不加return false 则直接显示开始(0);
请问这是为什么 ? return false 在这里起什么作用呢?
function showBtn()
{
var btnObj=document.getElementById('btnReg1');
while(times>0)
{
times--;
btnObj.value="开始("+times+")";
window.setTimeout("showBtn()", 1000);
return false;
}
}我用按钮调用这个 方法 执行正常 可以倒数 如果以上方法中 不加return false 则直接显示开始(0);
请问这是为什么 ? return false 在这里起什么作用呢?
var times = 11;
function showBtn() {
var btnObj = document.getElementById('btnReg1');
if (times > 0) {
times--;
btnObj.value= "开始(" + times + ")";
window.setTimeout("showBtn()", 1000);
}
}
showBtn();
function test() {
for (var i = 0; i < 5; i++) {
alert(i);
return false;
}
}
test();
<script type="text/javascript">
var times = 11;
function showBtn() {
var btnObj = document.getElementById('btnReg1');
if (times > 0) {
times--;
btnObj.value = "开始(" + times + ")";
window.setTimeout("showBtn()", 1000);
}
}
</script>
return false;
return true;
return;
效果一样,都是退出函数和循环
那这个循环就没有什么意义,只取到一个if的作用。
//这里一个循环下来还极大可能没等到1秒再次调用方法showBtn的时候times就已经是0了,加了return就是做了一次循环方法就返回了。
while(times>0)
{
times--;
btnObj.value="开始("+times+")";
window.setTimeout("showBtn()", 1000);
return false;
}
function showBtn()
{
var btnObj=document.getElementById('btnReg1');
while(times>0)
{
times--;
btnObj.value="开始("+times+")";
window.setTimeout("showBtn()", 1000);
return false;
}
} 这段代码,你可以改写成这样
function showBtn()
{
var btnObj=document.getElementById('btnReg1');times--;
btnObj.value="开始("+times+")";
if ( times >=0 ) {
window.setTimeout("showBtn()", 1000);}
} please have a try~