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

代码问题求指教,一大堆bug

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>浏览器对象</title>
</head>
<body>
    <h3>操作成功</h3>
    <b id="second">5</b>秒后回到主页面&nbsp;<a href="javasript:goback();">返回</a>
    <script type="text/javascript">
        var i = 5;
        var sec = document.getElementById("second");
        function sec(){
            i--;
            sec.innerHTML=i;
            if(i==1){
               location.href="http://www.baidu.com";
            }
            setTimeout("sec()",1000);
        }
       sec();
        function goback(){
            window.history.back();
        }
    </script>
</body>
</html>

当把var sec 定义在sec()函数外面时,执行出错

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>浏览器对象</title>
</head>
<body>
    <h3>操作成功</h3>
    <b id="second">5</b>秒后回到主页面&nbsp;<a href="javasript:goback();">返回</a>
    <script type="text/javascript">
        var i = 5;
        function sec(){
            var sec = document.getElementById("second");
            i--;
            sec.innerHTML=i;
            if(i==1){
               location.href="http://www.baidu.com";
            }
            setTimeout("sec()",1000);
        }
       sec();
        function goback(){
            window.history.back();
        }
    </script>
</body>
</html>

而定义在sec()里面就没有问题了。。。有点想不明白是什么原因

还有,我发现如果网速比较慢的话,秒数会一直读到负数直到打开网页,不知道有没有什么 解决办法。

用firefox浏览器,点击返回总是提示:Firefox 不知道如何打开这个地址,因为协议 (javasript) 未与任何程序关联,或者不允许在这种情况下进行。这是什么原因呢?

请教大家!谢谢!

正在回答

1 回答

命名冲突了,sec在sec函数里的话会占时把函数覆盖掉,也就是说在sec函数里面sec不再表示函数而是变量,但如果在外面,电脑就不能判断sec指的是函数还是变量了

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

素本往后 提问者

原来函数和变量不能同名!谢谢!请问你知道<a href="javasript:goback();">返回</a>这种写法是否可行?我的firefox不起作用
2016-12-03 回复 有任何疑惑可以回复我~
#2

cdcq 回复 素本往后 提问者

不懂……
2016-12-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

代码问题求指教,一大堆bug

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