Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScript Basic For 6 Weeks(3/6)
Search
winwu
October 06, 2015
Programming
0
610
JavaScript Basic For 6 Weeks(3/6)
Event
Function
winwu
October 06, 2015
Tweet
Share
More Decks by winwu
See All by winwu
Google Data Studio 分享
winwu
0
89
Google Analytics 分享 3 - 內容分組/自訂廣告活動/目標/事件
winwu
0
74
Google Analytics 分享 2 - 版面配置/資訊主頁/資料層級
winwu
0
240
Google Analytics 分享 1 - 基礎知識篇
winwu
0
330
HTML_CSS_前端基礎講座-4.pdf
winwu
0
420
HTML/CSS 前端基礎講座-3
winwu
0
440
HTML/CSS 前端基礎講座-2
winwu
0
450
2016 HTML CSS 前端基礎講座-1
winwu
1
530
2016 中正大學 weic.tw - RWD
winwu
3
940
Other Decks in Programming
See All in Programming
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
130
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
450
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
return文におけるstd::moveについて
onihusube
1
1.1k
CSC305 Lecture 26
javiergs
PRO
0
140
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
810
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
Featured
See All Featured
Building an army of robots
kneath
302
44k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Designing for Performance
lara
604
68k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Cult of Friendly URLs
andyhume
78
6.1k
Gamification - CAS2011
davidbonilla
80
5.1k
A Tale of Four Properties
chriscoyier
157
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
4 Signs Your Business is Dying
shpigford
181
21k
Speed Design
sergeychernyshev
25
670
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
JavaScript Basic Rails Girls Weekly 2015-10-06 @ 五倍紅寶⽯石出礦坑 Speaker: Win
Wu Week 3
Agenda ๏Function 函式 ๏Event 事件
Function 函式 ⼀一段執⾏行特定功能的程式碼集合起來。 簡化, 重複利⽤用, 回收再利⽤用!
Function 函式 函式分為指名函式及匿名函式 函式的宣告⽅方式有兩種: 直接對函式命名。 將匿名函式指定給⼀一個變數。
Function 指名函式 指名函式代表這個函式有⼀一個名字。 可以在宣告之前呼叫,也可在宣告之後呼叫。 01.js
Function 指名函式
Function 匿名函式指定給變數 另外你也可以把匿名函式指定給⼀一個變數, 函式也可以當作⼀一個變數儲存。
Function 匿名函式指定給變數 02.js
• JavaScript ⼤大⼩小寫有別。關鍵詞 function 必須是⼩小寫 • 使⽤用時必須以與函數名稱相同的⼤大⼩小寫來調⽤用函數 注意事項
參數 Argument 函式可以帶⼊入多個參數。 在調⽤用函式時,您可以向函式傳遞值,這些值被稱為參數。
參數 Argument 帶⼊入參數到函式時,帶⼊入參數的順序必須⼀一致。 03.js
參數 Argument 04, 05.js
return 返回⼀一個回傳值 有時候我們希望函式做的事情, 可以把結果回傳給呼叫它的地⽅方。 06.js
return 返回⼀一個回傳值 result addTwoNumber(x, y) call 呼叫 return
函式就像是⿊黑盒⼦子⼀一樣, 資訊可以流⼊入(參數),可以流出(return) Function 函式 function Input Output
假如我們有個計算⾝身體質量指數(BMI)的 function 使⽤用 function 的⼈人可以不⽤用知道到底該怎麼計算 BMI 只需要提供 ⾝身⾼高 以及 體重
就可以得到結果。 Function 函式 function getBMI(w, h) ⾝身⾼高(h) 體重(w) 計算結果
• 函數在執⾏行過 return 後相當於⽴立即停⽌止後⾯面的程式,因 此,return 語句後的代碼都不會被執⾏行。 • 如果函數無返回值,那麼它真正返回的值是undefined。 (return is
not necessary. But no return actually return the undefined) • 參數的數量並沒有實際上的限制,但還是盡量控制在 2- 3 個左右。 注意事項 參考: http://www.w3school.com.cn/js/pro_js_functions.asp
Event 事件 只要你跟瀏覽器有互動,就有事件。 你只是需要知道有哪些事件可以監聽。 事件代表⼀一種狀態,我們可以知道事件的狀態 做出⼀一些相對應的反應。 事件通常與函式結合使⽤用, ⽽而這些函式不會在事件發⽣生前被執⾏行。
Event 事件 - Event Handler http://www.w3school.com.cn/jsref/jsref_events.asp 以下是⼀一些常⾒見的事件: 事件名稱 描述 onchange
內容被改變時。example: select onclick 內容被點擊時 onmouseover 滑⿏鼠滑到某個物件上 onresize 視窗重新被調整⼤大⼩小時 onsubmit 表單被送出時 onerror 載⼊入圖⽚片或是⽂文件錯誤時 onfocus 元素獲得焦點的時候 onkeydown 某個按鍵被按下的時候
Event 事件 - 監聽 監聽事件有幾個⽅方法: (1) HTML ⾏行內屬性(請避免使⽤用) (2) 對
DOM 屬性綁定 (3) 使⽤用事件監聽函數 (addEventListener)
Event 事件 - 對 DOM 屬性綁定 event1.html 監聽 element 節點的
click 事件。 此範例是⼀一個針對⼀一個超連結,做 onclick 的 function。 備註: 句點 (.) 後⾯面接的是某個東⻄西的屬性或⽅方法
Document 是什麼? 上⼀一⾴頁指的 Document 是 Document Object Model 物件檔案模型,提供修改或是取⽤用網⾴頁資料的⼀一種機制。 DOM
把網⾴頁視為節點構成的階層樹。 Dom 的節點,是依據節點的類型做分類。 參考: JavaScript 深⼊入淺出 - 駕馭網⾴頁 http://blog.winwu.today/2012/04/dom.html
• 上⾴頁範例,onclick 表⽰示 HTML 元素的按下事件。 • 可以接受⼀一個匿名函式當做動作。 • 當按下按鍵時,就會觸發這個動作。 •
重複指定匿名函式的話,新的會蓋掉舊的,所以只會 執⾏行最新的。 • onclick 裡的匿名函式中的 this 代表 onclick 所屬的 HTML 元素。 Event 事件 - 對 DOM 屬性綁定
Event 事件 - addEventListener 可以對事件新增⼀一個監聽的處理函式 跟 onXXXX 不同的地⽅方在於可以對同⼀一事件註冊多個處理函式 document.addEventListener(event, function,
useCapture) http://www.w3schools.com/jsref/met_document_addeventlistener.asp 哪個物件 掛上 監聽器 要監聽的 事件名稱 監聽到時 要執⾏行的 function required required optional http://stackoverflow.com/questions/25028853/addeventlistener-two-functions
Event 事件 - addEventListener event2.html
Event 事件 - removeEventListener 可以 add 當然也有 remove 嘍! 移除已經被
add 某個物件上的事件。 document. removeEventListener(event, function) 解除事件綁定時要注意,使⽤用的 function 不能是匿名函數,必須要是指名函數。
event3.html
• https://github.com/jaceju/notes-javascript/blob/master/basic.md • http://www.w3schools.com/js/js_htmldom_eventlistener.asp • http://blog.winwu.today/2013/08/eventpreventdefaultreturn- false.html • http://yujiangshui.com/javascript-event/ •
http://www.wibibi.com/info.php?tid=384 Reference
Thank you :D