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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

麻煩幫忙看一下這個問題,關于在setTimeout()中函數加雙引號和不加有什么區別?

麻煩幫忙看一下這個問題,關于在setTimeout()中函數加雙引號和不加有什么區別?

陪伴而非守候 2021-11-03 11:07:12
看代碼:HTML結構我在這里就不寫了,代碼實現-時間顯示第一種:帶雙引號的 <head> <div id="nowTime"></div><script type="text/javascript">var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout("setNowTime()", 500);}setNowTime();</script>第二種:不帶雙引號的,放在head標簽中,有window.onload加載<script>window.onload = function(){var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout(setNowTime, 500);}setNowTime();}</script></head>如何把第二種方法中的換成第一種方法的setTimeout:setTimeout(setNowTime, 500); ==>> setTimeout("setNowTime()", 500);代碼執行一遍就報錯
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

setTimeout("xxx",500)

雙引號中的作用域不捕捉局部變量,因此會報錯誤

如果你需要在雙引號中可以在外部定義一個變量


var  now;               window.onload = function(){      var dom = document.getElementById("nowTime");             var getNowTime = function(){        return Date().split(" ");      }            var setNowTime = function(){        var arr = getNowTime();        dom.innerHTML = arr;        now=setNowTime        setTimeout("now()", 500);      }            setNowTime();    }


查看完整回答
反對 回復 2021-11-07
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

setTimeout()第一個參數傳入的是code代碼,那不論這個代碼是函數名稱比如不加引號的setNowTime 還是加引號的一串代碼 比如“setNowTime()”; 都是可以運行的呀。

查看完整回答
反對 回復 2021-11-07
  • 2 回答
  • 0 關注
  • 337 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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