为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套代码,结果无法运行,请大家看看什么原因?

我的这个代码 为什么不能正常运行,麻烦看下问题出在哪里?

正在回答

3 回答

问题稍微有点多。我一步一步的说:

var i=setInterval("clock()",100);

这里的clock()函数是在st()函数的内部创建的,在st()的外面访问不了,所以当然调用不成功。我是不知道你为什么要这样创建啦...... 不过你依然可以这样创建使clock()能被外部环境访问,只要将clock() return 就行了:

function st(){
    function clock(){
	var time=new Date();
	document.getElementById("clock").value = time;
    }
    return clock();
}

这样的话时间能够自动变化运行了,stop也可以行得通,但是start可就不行了,start只能点一下时间变化一下,可能不是你想要的效果。

附上修改过的完整代码

var timer ;

function st(){
	function clock(){
		var time=new Date();
      	document.getElementById("clock").value = time;
 		console.log(time);
	}
   return clock();
}

function start(){
	timer = setInterval(st,1000);
}

function stop(){
	clearInterval(timer);
}


1 回复 有任何疑惑可以回复我~
#1

黑羊sparrow 提问者

非常感谢!
2015-03-06 回复 有任何疑惑可以回复我~

非常感谢,刚学习JavaScript很多函数的特性掌握的都不是很熟悉,向高手致敬~~

0 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
   var i=setInterval("clock()",100);   

function st(){

   function clock(){
      var time=new Date();                     
      document.getElementById("clock").value = time;

        }}
 
}
</script>
</head>
<body>
  <form>
    <input type="text" id="clock" size="50"  />
 <input type="button" value="Start" onclick="st()" />
    <input type="button" value="Stop" onclick="clearInterval(i)" />
  </form>
</body>
</html>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

嵌套代码,结果无法运行,请大家看看什么原因?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信