javascript - 關于正則表達式的一些問題
問題描述
<!DOCTYPE html> <html lang='en'> <head> <meta charset='utf-8' /> <title>簡易網頁時鐘</title> <style type='text/css'> body,p {margin: 0;padding: 0;} body {color: #fff;font: 16px/1.5} #clock {width: 300px;text-align: center;background: #1a1a1a;margin: 10px auto;padding: 20px 0;} span {color: #000;width: 80px;line-height: 2;background: #fbfbfb;border: 2px solid #b4b4b4;margin: 0 10px;padding: 0 10px;} </style> <script type='text/javascript'> window.onload = function() {var oClock = document.getElementById('clock');var aSpan = oClock.getElementsByTagName('span');setInterval(getTimes,1000);getTimes();function getTimes() { var oDate = new Date(); var aDate = [oDate.getHours(),oDate.getMinutes(),oDate.getSeconds()]; for(var i in aDate) aSpan[i].innerHTML = format(aDate[i])}function format(a) { return a.toString().replace(/^(d)$/,'0$1')} } </script> <body> <p id='clock'><span></span>點<span></span>分<span></span>秒 </p> </body> </html>
1.return a.toString().replace(/^(d)$/,'0$1')這句表達的是什么意思呢?2.setInterval(getTimes(),1000)這樣寫不行嗎?為什么?
問題解答
回答1:1、/^(d)$/用于匹配一個只有一個數字的字符串,如2、3等,括號的作用在于把數字存為分組1,replace(/^(d)$/,'0$1')用于在數字前添加0,$1表示分組1存放的字符串,如2替換為02、3替換為03,你可以在console輸入’2’.replace(/^(d)$/,'0$1')運行看看結果
2、不行,setInterval第一參數必須是一個函數,而getTimes()是運行函數后的值,只有getTimes才是函數
連續回答了題主兩條類似的問題,建議題主先認真看看書,打好基礎
相關文章:
1. mysql 查詢身份證號字段值有效的數據2. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題3. mysql - 把一個表中的數據count更新到另一個表里?4. javascript - 彈出一個子窗口,操作之后關閉,主窗口會得到相應的響應,例如網站的某些登錄界面,django后臺的管理等,這是怎么實現的呢?5. 視頻文件不能播放,怎么辦?6. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?7. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?9. android - 分享到微信,如何快速轉換成字節數組10. visual-studio - Python OpenCV: 奇怪的自動補全問題
