寫在前面
放假了,但由於疫情的影響,我作為班長,需要每天詢問班級成員的健康狀況並上報。本來Tim、釘釘等企業用app早已經實現這種功能了,可大家非要用微信(很氣)。本人較懶,我想用程序自動實現這種功能。為了這個目標,我先學一波js語言。
正式開始
一、js入門(很淺)
(一)涉及的基礎知識
(1) 數據類型
-
js用關鍵字 var 定義變量
1 var a = "學習STM32"; //字符串
2 var b = 6; //js只有一種數據類型,可帶小數點
- js函數語法(使用關鍵字 function)
function FunctionName(var1,var2,...) { 代碼 }
二、源碼及具體分析
(一)源碼如下
(該代碼為網上公開的源碼,非本人原創,僅供個人學習)
1 var appElement = document.querySelector('[ng-controller=chatSenderController]'); 2 var $scope = angular.element(appElement).scope(); 3 setInterval(function(){ 4 var localTimeString = new Date().toLocaleTimeString(); 5 if(localTimeString.indexOf('上午8:30:00') === 0){ 6 $scope.editAreaCtn = "匯報健康狀況"; 7 $scope.sendTextMessage(); 8 } 9 },5000);
(二) 具體分析
(1)第一行 document.querySelector()
作用:返回文檔中匹配指定 CSS 選擇器的一個元素。
這里它的參數 '[ng-controller=chatSenderController]' ,我們可以檢查一下微信網頁的元素,如圖。 可以看出應該是一個與聊天輸入區域有關的東西。
(2)第二行 angular.element(appElement).scope()
作用:獲取元素appElement 的scope
(3)setInterval()
作用 :setInterval() 方法可按照指定的周期(以毫秒計)來調用函數或計算表達式。例如下面這句
setInterval(function(){ alert("Hi"); }, 5000);//每5000毫秒彈出一個Hi對話框
(4)toLocaleTimeString()
作用:根據本地時間把 Date 對象的時間部分轉換為字符串
(5) 第六行的字符串就是自己想發送的內容
(6) 第七行 sendTextMessage()
作用:通過網頁代碼可知,它就是發送按鈕點擊響應的動作
三、應用方法
- 打開微信網頁版,並切換到你想發送對象的聊天窗口
- 打開瀏覽器控制台(一般快捷鍵都是F12)
- 輸入代碼,回車執行。
- 注意:必須保持聊天頁面,不能刷新