ホームページ > 記事 > ウェブフロントエンド > JavaScriptのイベントメカニズムを深く理解する
プログラム的には、人間オブジェクトの sleep メソッドがあります。このメソッドは、
精神的疲労 イベントがトリガーされた場合にのみ実行されます。
function sleep(){ do sleep } man.ontired=function(){ sleep(); }もちろん、たとえ夜の12時、あなたはとても疲れていて、まだ残業しなければなりません。この時点で、人々は精神的疲労を引き起こし、このイベントの後、仕事を続けるための方法を実行する可能性があります(私のQAQなど...
)。
man.ontired=function(){ work() }ということで、イベントのようなものが蔓延しています 私たちの周りにあるのは、スイッチのようなトリガーポイントで、押すと光がつき、もう一度押すと光が消える、それがイベントです。
js はイベント駆動型です
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也是一样的
関連する推奨事項:
以上がJavaScriptのイベントメカニズムを深く理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。