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
600
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
87
Google Analytics 分享 3 - 內容分組/自訂廣告活動/目標/事件
winwu
0
72
Google Analytics 分享 2 - 版面配置/資訊主頁/資料層級
winwu
0
230
Google Analytics 分享 1 - 基礎知識篇
winwu
0
330
HTML_CSS_前端基礎講座-4.pdf
winwu
0
420
HTML/CSS 前端基礎講座-3
winwu
0
430
HTML/CSS 前端基礎講座-2
winwu
0
450
2016 HTML CSS 前端基礎講座-1
winwu
1
530
2016 中正大學 weic.tw - RWD
winwu
3
930
Other Decks in Programming
See All in Programming
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Remix on Hono on Cloudflare Workers
yusukebe
1
300
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
900
CSC509 Lecture 11
javiergs
PRO
0
180
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
Contemporary Test Cases
maaretp
0
140
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
230
Amazon Qを使ってIaCを触ろう!
maruto
0
410
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
240
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
GitHub's CSS Performance
jonrohan
1030
460k
For a Future-Friendly Web
brad_frost
175
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Docker and Python
trallard
40
3.1k
4 Signs Your Business is Dying
shpigford
180
21k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Done Done
chrislema
181
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
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