关于var和window声明

来源:1-21 编程练习

学习plus

2020-04-16 23:03:16

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>定时器</title>
    <style type="text/css">
        div{width:400px;height:120px;margin-top:50px;border:2px solid gray;padding:10px;}
    </style>
</head>
<body>
     <input type="button" value="删除">
     <input type="button" value="取消删除">
    <div>点击"删除"按钮后,里面的内容将在3秒钟后消失;<br/><br/>如点击了"删除"后又不想删除内容,请在点击"删除"按钮3秒之内点击"取消删除"按钮即可</div>
    <script type="text/javascript">
       //补充代码
       var del=document.getElementsByTagName("input")[0],
           undel=document.getElementsByTagName("input")[1],
           title=document.getElementsByTagName("div")[0];
       del.onclick=function(){
            window.delTime=setTimeout(function(){title.innerHTML="";},3000);
       }
       undel.onclick=function(){
            clearTimeout(delTime);
       }
    </script>
</body>
</html>

老师,比如上面http://img.mukewang.com/climg/5e98731d09bf444607310155.jpg

红色框中如果window改为var,就只能作为局部变量,不能影响到绿色框中的对吗?

不添加var或者window默认视为全局变量对吗?

可以在函数中直接声明window全局变量是js规定好的吗?是因为window这个变量囊括全局,所以只要把变量声明在window下,间接可以影响到其他函数对吗?

写回答

1回答

好帮手慕慕子

2020-04-17

同学你好,代码是正确的,对于同学的问题解答如下:

  1. 是的,如果将红框中的window改成var就是局部变量了,不会影响到绿框中

  2. 是的,默认为全局变量。

  3. 是的,js规定的,理解的很对。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程