鍍金池/ 問答/HTML5  HTML/ 怎樣全流程的理解js中的keydown事件的全流程?

怎樣全流程的理解js中的keydown事件的全流程?

 <script>
     function showkey(event){
          console.log(event.keyCode)
       }
   document.onkeydown=showkey
  
 </script>

初學(xué)js,不知道理解的對不對?
1、瀏覽器解析js代碼,生成函數(shù)showkey,document將函數(shù)showkey與一個keydown事件綁定
2、按下某個按鍵
3、鍵盤設(shè)備將按鍵信息傳送給cpu
4、cpu捕獲到這個按鍵信息,將其傳送到瀏覽器進程中生成一個事件對象event:keydownevent
5、瀏覽器document安裝了事件監(jiān)聽程序,在事件更新中獲得按鍵事件event:keydownevent
6、document發(fā)現(xiàn)這個事件與showkey函數(shù)綁定,然后調(diào)用showkey
7、然后document和事件監(jiān)聽程序清除這個事件的記錄,等待下一個事件
求指導(dǎo)~

回答
編輯回答
赱丅呿
初學(xué)js

初學(xué)就不要去想這些問題。

1、瀏覽器解析js代碼,生成函數(shù)showkey,document將函數(shù)showkey與一個keydown事件綁定

瀏覽器只是外在的一個應(yīng)用,從技術(shù)角度,它又是由內(nèi)核加外圍的管理調(diào)度邏輯構(gòu)成的。內(nèi)核主要又分 html 與 css 的解析渲染, js 的解析執(zhí)行。這些綜合起來,才能解釋 document 這類 api ,及 showkey 這個函數(shù)定義。

2、按下某個按鍵
3、鍵盤設(shè)備將按鍵信息傳送給cpu

管理設(shè)備是在“操作系統(tǒng)”這一層,不會到 cpu 這一層。而瀏覽器是建立在“操作系統(tǒng)”基礎(chǔ)上的。

4、cpu捕獲到這個按鍵信息,將其傳送到瀏覽器進程中生成一個事件對象event:keydownevent
5、瀏覽器document安裝了事件監(jiān)聽程序,在事件更新中獲得按鍵事件event:keydownevent
6、document發(fā)現(xiàn)這個事件與showkey函數(shù)綁定,然后調(diào)用showkey
7、然后document和事件監(jiān)聽程序清除這個事件的記錄,等待下一個事件

完全錯誤,概念混亂。難得說了。

2018年1月11日 04:38