首頁 > web前端 > js教程 > 主體

深入了解JavaScript的事件機制

零到壹度
發布: 2018-04-21 10:41:48
原創
1503 人瀏覽過

這篇文章介紹的內容是深入了解JavaScript的事件機制,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

什麼是事件

先用一個人來比喻吧,人都會睡覺,但是只有人感覺到困了才會去睡覺。
用程式的話來講,人這個物件存在一個睡覺的方法,這個方法只有當精神疲勞這個事件觸發的時候才會執行:

function sleep(){    do sleep
}

man.ontired=function(){
    sleep();
}
登入後複製

當然,有的人因為一堆工作還沒完成,即使深夜12點很累還是得加班工作,這時候,人觸發了精神疲勞這個事件之後可能會執行一個繼續工作的方法(比如我QAQ。 。一下燈就滅了,這就是一個事件。

    答案當然是用戶所有對瀏覽器所做的行為的回應。對使用者行為有回應的,都是web的事件,例如一個使用者怒砸電腦,這個瀏覽器無法監聽也無法回應,所以算不上web的事件。 ##所以,事件是瀏覽器對使用者行為的一個回應
  • js是事件驅動的

  • 而正是有這些事件的存在,程式設計師和使用者方可以連結起來,程式設計師不知道使用者對網頁做了什麼,但是程式設計師知道使用者做了那些行為後應該給予怎麼樣的處理。個都是地雷兵,在頁面佈滿了大大小小的“事件地雷”,只要用戶不踩上去,我們寫的代碼會老老實實躺在js文件裡面永不觸發。了按鍵了踩了“事件地雷”,那麼我們寫的程式碼就像地雷一樣“boom”的一聲開始執行。
    document.body.onclick=function(){
        alert('boom')
    }
登入後複製
  • 如果用户只是打开了网页,根本没有点击页面,那么这个"boom"永远不会弹出来。

  • 因为js是事件驱动的。

事件驱动是什么?

  • 上面那几个例子已经很好说明了什么是事件驱动。事件驱动就是,事件没发生,代码不执行,事件是触发代码执行的直接原因。

  • 一般来讲,可能你有遇到,在一个点击事件里面写了一个小小或者大大的逻辑错误,js页面加载的时候并不会给你报错,它只是匆匆看了一眼onclick里面的内容,但不会去执行它,自然不会去发现里面的逻辑错误,除非你里面写了一个语法错误,js看了一眼发现,卧槽这里面的语句不通顺读不通啊,它才会提示错误。只有你点击事件触发的时候,js执行了下代码,然后发现里面的逻辑狗屁不通,然后才会报错。

  • 通常我们都会写个window.onload,页面加载完成触发的事件,把要执行的代码放里面,这样资源加载好了js好操作。但是,页面还存在一个隐性的事件,就是read事件,js引擎阅读代码事件。如果读到了function 函数名(){...}活着var 函数名=function(){...}这样的结构,它会匆匆扫一眼,不执行里面的代码,然后继续读下去,其他的语句一旦遇到了,js就会去执行它。比如var 变量名或着函数名()这样。这个是read事件,其他事件也类似,只有当前浏览器对用户行为的响应时,js才会执行里面的代码。

其他语言的事件驱动

  • 说到事件驱动,还有一个语言也是事件驱动的,那就是php(我所知道的。。。)。

  • php的事件驱动在于,它同样为服务器划分了事件,最简单的,一个请求进来,这是一个事件;服务器做出一个响应,这也是一个事件。然后后台服务器围绕这几个事件,一旦触发哪个就执行相关代码。

  • js的后台版node也是一样的


相關推薦:

js中的事件機制

JavaScript 事件機制

JS事件之事件流機制

以上是深入了解JavaScript的事件機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!