技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2017 iT 邦幫忙鐵人賽
DAY
5
0
自我挑戰組
你看微客=[ 前端領域 - 超入門 ]
系列 第
5
篇
Javascript---[ 事件處理、函式進階 ]---無用小觀念
2017鐵人賽
ucvic
2016-12-17 23:16:32
1961 瀏覽
分享至
事件處理
事件:瀏覽器被觸發的事件,例如頁面 load 完成事件、 DOM 事件( 如 click、mousemove、dragstart... )、鍵盤事件、觸控事件、視窗縮放事件、接收到網路資料事件...等等各種不同類型。
針對預設可能會發生的各種不同類型事件,撰寫對應的事件處理程序( 稱為
callback、handler
)。
當事件處理程序被呼叫時,
會自動傳入一個事件物件( eventObj ),內含事件相關資訊,如:被觸發事件的元素( target )、事件何時發生...等各類資料訊息,以供處理程序運用
,事件物件的內容會依事件類型而不同而有所差異。
getElementsByTagName 方法會回傳一個 NodeList 物件,
可將其視為一個陣列,利用陣列所引來取得各索引位置對應的元素物件
。
Javascript只有一個佇列( queue )及一個執行緒( thread of control)
,這意味著一次只能處理一件事情,故
處理程序程式碼的好壞會大大的影響瀏覽器執行的效率
。
setTimeout 方法完整寫法應為 window.setTimeout,但
因 window 物件屬於全域物件,故可省略物件名稱
。
函式進階
在Javascript中,請將函式視為"值"來處理
,如同數字、字串、boolean和物件一樣,
能賦值給變數、當成引數傳遞、或從另一個函式中回傳
。
建立一個函式,可使用
函數宣告
或
函式運算式
兩種不同的方式。
@ 函式宣告( function declaration ): function murmur () {}
=>
會建立與函式名稱同名的變數,並把函式的位址賦值給變數
@ 函式運算式( function expression ): function () {}
=>
會產生函式的位址值
瀏覽器在讀取時,會
先掃描函式宣告,待執行程式碼時才會去處理函式運算式
。
使用陣列的 sort 方法來排序時,需
將用來比較的函式( 自行定義 )作為引數傳入
。
留言
追蹤
檢舉
上一篇
Javascript---[ DOM、資料型別 ]---無用小觀念
下一篇
Javascript---[ 閉包 ]---無用小觀念
系列文
你看微客=[ 前端領域 - 超入門 ]
共
30
篇
目錄
RSS系列文
訂閱系列文
17
人訂閱
26
React---[ 自訂元件、props特性 ]---無用小觀念
27
React---[ state 狀態、事件處理 ]---無用小觀念
28
React---[ JSX ]---無用小觀念
29
Git---[ Git 基本觀念 ]
30
30天鐵人賽---[ 參賽心得 ]
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22201
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
teams 未完整轉移 skype 聯絡人
雲端 ERP 評估
信箱重覆寄信
請問有推薦初學者使用的 GUI 應用程式開發工具嗎?
遠端連線終端機
【Python】
TEAMS授權帳號問題和連線方式
請問有比樂詞網更好的網絡術語詞典嗎?
Line官方帳號『免費通話』圖文功能連結問題
Outlook信箱畫面閃爍
熱門回答
請問有推薦初學者使用的 GUI 應用程式開發工具嗎?
雲端 ERP 評估
信箱重覆寄信
Wifi cert 証書認証問題
"已解決"USB印表機轉COM
熱門文章
如何將 SKYPE 轉移到 Teams
Visual Studio Community 2022 建立用 C++ 呼叫 EXE 的安裝檔 && Pyinstaller 打包外部文件 (INI)
基於WebGL和Three.js構建高性能虛擬試穿系統:技術實現與挑戰
JAVA 入門筆記 - 2 - 環境建置與開發準備
在Ubuntu系統上架設Sql Server的Redmine-1筆記
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}