亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

5 回答

setTimeout()第一個參數是個函數。第二個參數是設置延時的時間。你的第一種方法是對的。第二種完全就錯了。?setTimeout(window.open("http://www.baidu.com"),1000);這是個錯誤的寫法。更改成這樣:setTimeout(function() {window.open('http://www.baidu.com')}, 3000);這才對。

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

不浪漫

你的第二種寫法錯誤,第一個參數根本不是個函數。被得到了錯誤的解析:你命令了window直接打開指定的主頁。
2017-02-16 回復 有任何疑惑可以回復我~
#2

丨淺笑 提問者

'http://www.baidu.com' 這個為什么要單引號啊。js里單引號雙引號的區別是什么啊。 我剛試了一下 setTimeout("window.open('http://www.baidu.com')}", 3000); 這樣寫也可以。
2017-02-16 回復 有任何疑惑可以回復我~
#3

不浪漫 回復 丨淺笑 提問者

http://blog.csdn.net/lihchweb/article/details/53400386 這是我的博客你看下。單雙引號都可以。但是涉及到嵌套的時候就不行了。
2017-02-16 回復 有任何疑惑可以回復我~
#4

丨淺笑 提問者

非常感謝!
2017-02-16 回復 有任何疑惑可以回復我~
查看1條回復

我剛試了一下
setTimeout("window.open('http://www.baidu.com')}", 3000);
這樣寫也可以。

你這個還是有問題的。有沒有發現你少了點什么


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

不浪漫

打錯了 多了點什么。
2017-02-16 回復 有任何疑惑可以回復我~
#2

丨淺笑 提問者 回復 不浪漫

看不出來啊。多了什么?
2017-02-16 回復 有任何疑惑可以回復我~
#3

丨淺笑 提問者 回復 不浪漫

哦,多了個大括號,復制你的代碼,忘記刪后面的了,哈哈
2017-02-16 回復 有任何疑惑可以回復我~

setTimeout中的函數應該是指定一個已存在的函數或直接聲明一個新的函數如:function(...){},你的那種寫法是直接告訴解釋器執行函數,這是我的理解,希望對你有用。

0 回復 有任何疑惑可以回復我~

后者的寫法會立即執行函數

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

丨淺笑 提問者

我知道會立即執行啊,我問的是為什么啊T T
2017-02-16 回復 有任何疑惑可以回復我~

一般用第一種方法

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

丨淺笑 提問者

是說第二種寫法是錯的?
2017-02-16 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468975    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

setTimeout的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號