首页 新闻 会员 周边

关于js setinterval()的参数执行环境的一个问题

0
悬赏园豆:20 [已解决问题] 解决于 2018-06-19 11:02

希望大家能帮忙解答一下,这个setInterval("test()",2000)里面的"test()"函数调用执行环境为什么会是全局的?不应该是局部的吗?我知道test的声明作用域是局部的,在window.onload方法下面,可是"test()"执行环境为全局的不太理解,希望大家能帮忙指导一下。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    </style>
</head>

<body>
    <script>
       window.onload = function () {
            function test() {
                alert(123456);
            }
             setInterval("test()",2000);
        }
    </script>
</body>

</html>
花语剑情的主页 花语剑情 | 初学一级 | 园豆:5
提问于:2018-06-15 15:42
< >
分享
最佳答案
0

你可以参考哈他的https://blog.csdn.net/jxqiaole/article/details/51673765

收获园豆:20
小兰子 | 菜鸟二级 |园豆:228 | 2018-06-15 16:19

嗯,谢谢啊

花语剑情 | 园豆:5 (初学一级) | 2018-06-19 11:01
其他回答(1)
0

第一个参数用字符串,跟eval一个道理,使用的是全局作用域

jello chen | 园豆:7306 (大侠五级) | 2018-06-15 18:49

知道了,谢谢啊

支持(0) 反对(0) 花语剑情 | 园豆:5 (初学一级) | 2018-06-19 11:02

真不好意思啊,园豆忘记给你了,现在改也改不了了。不好意思啊,谢谢你的解答

支持(0) 反对(0) 花语剑情 | 园豆:5 (初学一级) | 2018-06-19 11:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册