希望大家能帮忙解答一下,这个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>
你可以参考哈他的https://blog.csdn.net/jxqiaole/article/details/51673765
嗯,谢谢啊
第一个参数用字符串,跟eval一个道理,使用的是全局作用域
知道了,谢谢啊
真不好意思啊,园豆忘记给你了,现在改也改不了了。不好意思啊,谢谢你的解答