Re: [問題] 關於事件與函式的差異??
※ 引述《tas72732002 (蔥頭)》之銘言:
: 標題: [問題] 關於事件與函式的差異??
: 時間: Sat Sep 15 16:45:04 2012
:
:
: 請問各位大大:
:
: 最近這兩個名詞有些搞不懂,
:
: 事件與函式的有差異嗎
我在PHP版有回過,
事件就是某個狀況瞬間做某事,但它沒有指明該做什麼;
函式就是自定義的一個程序。
這兩個東西兜在一起就有意義了。
:
: 當某些情況處發事件,與某些情況處發函式有差嗎??
符合某種情況→事件被觸發→執行指定函式
縮短為「符合某種情況執行指定函式」也無不可不是?
但其中還是有事件的概念存在。
:
: 不明白為什麼不是用函式而是用事件??
:
: 我指的是自己註冊事件(不是內建的)
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 111.249.120.156
: → qwer820404:event發生時 call function來處理 09/15 16:51
: → tas72732002:那與 if(a=5) b() ; 當a=5 call b()有什麼不同? 09/15 17:01
a==5 在這裡充其量只是一個判斷式而已,下一次a再為5就不一定會呼叫b()了。
除非你自己寫一個監聽事件,如果a為5就執行動作,那這樣a==5就可以稱為事件。
常見如水位高到多少就自動開啟閘門之類的。
事件可以重複被觸發而執行,判斷式如果沒有特別寫,應該只有當下一次。
這就是不同點了。
: → qwer820404:以JS的註冊事件 是告訴event handler當object遇到什麼 09/15 17:02
: → qwer820404:動作事情(event) 就去做什麼事情(function) 09/15 17:05
: → qwer820404:小弟知識淺薄 就我認知 上面二句是一樣 您覺得差別在? 09/15 17:06
: → bibo9901:像 onclick, onsubmit, onmouseover 這些怎麼寫在if裡? 09/15 17:20
: → tas72732002:回樓上,很多語言是件可以自己註冊,你說的那些都是內 09/15 17:28
: → tas72732002:建的 09/15 17:28
: → bibo9901:js也可以啊 09/15 18:00
所以你要是自行註冊了a==5這個事件,並取名為onAEqualsFive,
這就是你的事件。回到一開始的問題,它顯然和函式不同。
因為你還沒說要做什麼。
document.addEventListener("AEqualsFive", function(){
alert("a = 5!");
}, false);
跟函式結合之後,事件驅動模型就能運作無誤了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.50.250
討論串 (同標題文章)