丨浅笑
2017-02-16 11:39
setTimeout("openWeb()",1000);
function openWeb(){
window.open("http://www.baidu.com") ;
setTimeout(window.open("http://www.baidu.com"),1000);
的区别是什么啊?
为什么前者延时1秒跳转,而后者直接就跳转了?
setTimeout()第一个参数是个函数。第二个参数是设置延时的时间。你的第一种方法是对的。第二种完全就错了。 setTimeout(window.open("http://www.baidu.com"),1000);这是个错误的写法。更改成这样:setTimeout(function() {window.open('http://www.baidu.com')}, 3000);这才对。
我刚试了一下
setTimeout("window.open('http://www.baidu.com')}", 3000);
这样写也可以。
你这个还是有问题的。有没有发现你少了点什么
setTimeout中的函数应该是指定一个已存在的函数或直接声明一个新的函数如:function(...){},你的那种写法是直接告诉解释器执行函数,这是我的理解,希望对你有用。
后者的写法会立即执行函数
一般用第一种方法
JavaScript进阶篇
468782 学习 · 22507 问题
相似问题
回答 2
回答 1
回答 2
回答 2
回答 1