iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
Modern Web

30天學網頁設計系列 第 17

Day17 JavaScript基本教學(二)

  • 分享至 

  • twitterImage
  •  

流程控制

JavaScript在執行網頁上的動畫特效時,透過流程控制可以決定動畫物件出現的先後順序,讓這些動畫物件都可以按照寫好的腳本出現。流程控制指令是透過條件式以及迴圈來執行的。
if else可以讓JavaScript在滿足某個條件下時,執行特定功能

var age=18;
if (age<18){
    console.log("未滿18歲")
}
else{
    console.log("超過18歲")
}

由於age定義數值為18,在if else內,沒有達到age小於18的條件,因此會執行else區塊的指令,因此程式執行結果為「超過18歲」。除了if else指令外,還可以使用switch,當條件數量很多時,可以加以利用

var drink="milk"
switch(drink){
	case "milk":
	 	console.log("I want " + drink);
	 	break;
	 case "coffee":
	 	console.log("I want " + drink);
	 	break;
	 default:
	 	console.log("I want "+"black tea");
}

以上的指令,drink的值為「milk」,因此會顯示出「I want milk」的結果。

另一個可用來進行流程控制的功能叫做迴圈,迴圈的指令有分為兩種,一種 for 迴圈,另一種為while迴圈,可以重複執行大量的任務。

var result=0
for ( var i=1; i<=5; i++) {
	var result=result+i;
}
console.log(result);

如果不確定迴圈跑的次數,則可以用while迴圈:

var i=0
while(i<=5){
	var result=result+i;
	i++;
}
console.log(result);

事件處理

JavaScript是一個事件驅動的程式語言,他會根據使用者觸發條件來反應出相對應的事件,像是使用者點擊電商網頁上「立即購買」的按鈕,隔幾秒鐘後就產生已加入購物車的動畫效果,又或者像是滑鼠滑過產品圖上,產品放大的動畫效果,這可以讓網站有更多的互動。

事件處理分別事件類別+事件處理方法:
事件類別:說明事件發生的類別,像是使用者點擊click(點擊)、滑鼠滑過(mouseover)、滑鼠滑出(mouseout)等等
處理方法:當事件發生後,後續要使用的函式,也就是要觸發什麼樣的條件。

以下為事件處理範例寫法:

document.getElementById("btn").addEventListener('click', function() {
	  alert('恭喜你中獎!');
});

更進階的JavaScript應用

如果想要更深入理解JavaScript的話,可以應用JQuery的函式庫,裡面包含許多為JavaScript設計的擴充功能,更容易設計出與使用者互動功能,又或者是在與工程師溝通新的GA需求時,可以簡單描述JavaScript的概念,能夠讓工程師更容易理解需求內容。

JavaScript的學習資源

  1. Codecademy:免費的線上學習資源,裡面包含許多JavaScript基礎概念。
  2. Plurasight:付費課程,從基礎到進階課程都有著詳細的教學。
  3. Codepen:有非常多透過JavaScript完成的作品,可以在裡找到許多精彩的作品,並且練習完成自己的小程式。
  4. Stackoverlfow:工程師的發問平台,如果有遇到任何JavaScript的問題,在這裡有機會可以獲得解答。

上一篇
Day16 JavaScript基本教學(一)
下一篇
Day18 JavaScript基本教學(三)
系列文
30天學網頁設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言