function sleep(){ do sleep } man.ontired=function(){ sleep(); }
정신적 피로
를 유발합니다. 이 이벤트 후에 그들은 계속 일할 수 있는 방법을 구현할 수 있습니다(예: my 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!